专栏名称: 亚马逊云科技
亚马逊AWS的公众号,第一时间获取关于AWS国内外服务的资讯。AWS中国(北京)区域由光环新网运营。
目录
相关文章推荐
山东省交通运输厅  ·  省交通运输厅召开全省交通运输有关工作部署会议 ·  昨天  
山东省交通运输厅  ·  小清河航线气象服务正式启用 助力交通强国建设新篇章 ·  昨天  
山东省交通运输厅  ·  时速350公里!山东这条沿海高铁进入运行试验阶段 ·  3 天前  
山东省交通运输厅  ·  2024年全省交通运输行业汽车喷漆职业技能竞 ... ·  3 天前  
山东省交通运输厅  ·  山东交通在全国公路水运工程无损检测技能大赛中 ... ·  6 天前  
51好读  ›  专栏  ›  亚马逊云科技

分分钟启动 AWS 应用程序开发 | AWS CodeStar介绍

亚马逊云科技  · 公众号  ·  · 2017-05-08 18:24

正文

2017 AWS Summit 旧金山上,AWS发布了一系列新功能与新服务。

从今天起,我们将陆续推出由AWS首席布道师Jeff Barr撰写的系列文章,逐一介绍这些给力的新功能与新服务!

Jeff Barr

亚马逊AWS首席布道师

今天我们要介绍的,是立足AWS实现应用程序快速开发、构建与部署的新服务——AWS CodeStar。

不久之前,我所在的开发团队还致力于确保在发布期限之内完成软件项目,同时也面临着与当前大多数软件团队类似的应用程序开发挑战。毫无疑问,新项目环境设置、团队成员协作、移动代码构建、配置以及库等日常任务困扰着每一位从业者。时至今日,企业无疑需要加快产品创新与发布的速度,简洁与高效的软件创建、构建与部署流程已经成为保障开发团队获得成功的必要前提。


遗憾的是,大多数企业都在寻求更敏捷、更加动态化的软件开发流程当中面临着一系列关键性挑战。事实上,多数全新软件项目面临的首个挑战,就是开发人员在着手编码之前必须经历冗长的设置过程。这一过程可能包括设置IDE、访问对应的代码库及/或找到能够满足构建、测试与生产需求的基础设施选项等等。


除此之外,大多数开发团队可能还面临着另一大挑战——协作。为了为项目中的全部成员提供一套安全可靠的环境,负责人必须经常为不同团队角色与需求建立单独的子项目与工具。此外,负责人还需要为全部相关者提供任务更新信息、推进进度并报告各类软件问题——这一切都需要投入大量时间与精力。


最后,大多数企业希望提高软件开发速度并缩减产品上市时间,这意味着需要采取最佳实践、持续集成与持续交付等机制。实施此类敏捷开发战略可能要求企业投入大量时间对团队成员进行培训,同时为此类新型流程分配对应资源。

全新方案:AWS CodeStar

为了帮助开发团队轻松应对软件构建挑战,同时加快应用程序与解决方案发布速度,今天我们自豪地向大家介绍全新成果——AWS CodeStar。


AWS CodeStar是一项云服务,专门负责通过简化整体开发项目设置的方式加速AWS平台之上的应用程序开发、构建与部署流程。AWS CodeStar中包含多款项目模板,可供各类常规开发平台用于实现项目及资源配置,从而支持软件项目的编码、构建、测试、部署与运行等任务。


AWS CodeStar服务的核心助益:

 1 

轻松利用五种不同编程语言经由面向Amazon EC2、AWS Elastic Beanstalk或者AWS Lambda的模板创建新型项目,具体包括:JavaScript、Java、Python、Ruby以及PHP。通过选择对应模板,该服务将对您项目及应用程序所需要的底层AWS服务进行配置。

 2 

为您的整体软件团队提供统一的访问与安全政策管理体验。各项目可经由适用的IAM访问政策进行自动配置,从而确保提供安全的应用环境。

 3 

预配置项目管理仪表板可帮助您追踪各类活动,包括代码提交、构建结果以及部署活动等等。

 4 

运行示例代码以帮助您快速选择并运行您熟悉的IDE选项,包括Visual Studio、Eclipse或者其它Git所支持的各类代码编辑器。

 5 

利用AWS CodeCommit、AWS CodeBuild、AWS CodePipeline以及AWS CodeDeploy为各类项目提供持续交付管道配置。

 6 

与Atlassian JIRA Software相集成以通过AWS CodeStar控制台实现问题管理与直接追踪。

利用AWS CodeStar,开发团队能够构建起一整套敏捷软件开发工作流——其不仅能够提升软件部署与bug修复速度,同时亦将帮助开发人员构建起更切合客户请求与需求的软件方案。


下图所示为利用AWS CodeStar建立的响应式开发工作流示例:

AWS CodeStar之旅

现在,您已经对AWS CodeStar服务拥有了初步了解,下面我们将探讨如何利用该服务设置一个Web应用程序项目。首先,我将从AWS CodeStar控制台出发——点击“Start a project”按钮。

如果大家还没有设置适合的IAM权限,AWS CodeStar将显示对话框,要求您根据需求设置AWS资源管理权限。在这里我点击“Yes, grant permissions”按钮以允许AWS CodeStar为其它AWS资源分配合适的权限。

不过,这时系统会显示警告,提醒我因尚未为当前IAM用户应用正确的策略而无法获得AWS CodeStar的管理权限。如果大家希望在AWS CodeStar当中创建项目,则必须将AWSCodeStarFullAccess管理策略应用至您的IAM用户,或者拥有一个具备全部AWS服务完整权限的IAM管理用户。

现在我已经将之前提到的权限添加到IAM用户当中,因此现在可以使用该服务进行项目创建了。作为第一步,我直接点击“Create a new project”按钮并直接前往AWS CodeStar服务中心。

在这里,我可以从超过20种不同AWS CodeStar项目模板当中进行选择,即根据我的实际软件开发需求配置多种环境方案。每种项目模板都将指定不同的AWS服务以部署该项目、受支持的编程语言种类以及一份所采用之开发解决方案类型的说明。AWS CodeStar目前支持以下AWS服务:Amazon EC2、AWS Lambda以及AWS Elastic Beanstalk。利用预配置的AWS CloudFormation模板,这些项目模板仅要求一次点击即可创建多种软件开发项目,例如微服务、Alexa skills以及Web应用程序等等。

作为我的第一个AWS CodeStar项目,我打算利用Node.js与AWS Lambda构建一款无服务器Web应用程序——因此,这里选择Node.js/AWS Lambda项目模板。

大家可能已经注意到,AWS CodeStar提供的这套模板已经为开发项目设置了全部所需工具与服务,其中包括一项与各服务对接的AWS CodePipeline、AWS CodeBuild、AWS CloudFormation以及Amazon CloudWatch。在这里我将自己的全新AWS CodeStar项目命名为TaraWebProject,而后点击“Create Project”按钮。

由于这是我实效创建AWS CodeStar项目,因此系统会弹出对话框,要求我对AWS CodeStar用户设置进行调整。我在文本框内输入了Tara以作为显示姓名,并在邮箱文本框内添加自己的邮箱地址。这些信息都将显示在我接下来开发的项目当中。

下一步是选择如何编辑项目代码。我决定使用Visual Studio IDE编辑自己的TaraWebProject项目代码。利用Visual Studio,我将配置其利用AWS Toolkit for Visual Studio 2015访问AWS资源,同时编辑自己的项目代码。在此屏幕中,我还加入了指向AWS CodeStar为我的项目指定的AWS CodeCommint Git库链接。

整个软件开发项目的配置与工具设置至此彻底完成。AWS CodeStar仪表盘中显示出了我的软件项目,即TaraWebProject——我可以借此管理该项目的各类相关资源。其中包括代码提交等资源管理、团队成员与维基资料、持续交付管道、Jira问题追踪、项目状态以及其它适用的项目资源。

对我来说 ,AWS CodeStar最值得赞赏的一点就是提供一套工作示例项目,我可以借此开始自己的无服务器Web应用程序创建工作。要查看新Web应用程序的示例,我需要前往仪表板中的“Application endpoints”部分并点击其中提供的链接。

接下来,系统会弹出新的浏览器窗口,其中显示用于帮助推动开发流程的AWS CodeStar示例Web应用。该示例应用的最大优势,在于其拥有一套色彩会随具体时间进行变化的显示背景。

现在我们来看看用于构建示例网站的代码。为了查看代码内容,我将重新返回AWS CodeStar控制台中的TaraWebProject仪表板,并从边栏菜单中选择Code选项。

这样我就来到了AWS CodeCommit控制台中的TaraWebProject Git库处。在这里,我可以手动查看Web应用程序的代码、该代码库的提交内容、提交或分支内容对比以及为自己的库事件创建触发机制。

以此为起点,我即可开始开发自己的AWS托管型Web应用程序。在选择了AWS CodeStar配合Visual Studio之后,我可以利用IDE变更代码内容,并确保每一次向配置代码库提交成果后,TaraWebProject项目都会自动进行同步。


大家可能注意到,在AWS CodeStar TaraWebProject仪表板当中存在一条提醒消息,要求将各工具与我的项目库进行对接以实现代码操作。尽管我已经选择了Visual Studio作为IDE方案,但这里可点击Connect Tools按钮以查看对接此IDE的具体步骤。

这里,系统再次在屏幕中给出可选IDE选项,具体包括Visual Studio、Eclipse或者命令行工具等等。值得强调的是,我可以随时变更这一选项并利用不同IDE开发自己的项目。另外,我还可以将自己的Git AWS CodeCommit库通过HTTPS与SSH进行接入。要检索每个协议的适当存储库URL,我只需要选择代码库的URL下拉菜单并选择HTTPS或者SSH,最后将文本字段中的内容复制为结果URL即可。

在选择了Visual Studio之后,CodeStar又给出了Visual Studio集成的后续操作步骤。其中包括下载AWS Toolkit for Visual Studio、通过AWS CodeCommit将Team Explorer接入AWS CodeStar以及如何向该代码库推送变更。

在成功将Visual Studio接入我的AWS CodeStar项目之后,我重新回到AWS CodeStar TaraWebProject仪表板以管理其他将与我共同开发这款Web应用的团队成员。作为第一步,我将选择其中的“Setup your team”版块以前往Project Team页面。

在我的TaraWebProject Project Team页面,我将点击Add team member按钮并点选Select user下拉菜单以添加一位团队成员——Jeff。各位团队成员必须为我帐户当中的IAM用户,因此我需要点击Create new IAM user链接以为Jeff创建IAM帐户。

随后系统会弹出Create IAM user对话框,在这里我需要为该团队成员输入IAM用户名、显示名以及邮箱地址——作为示例,这里输入Jeff Barr。我们可以为Jeff分配三种项目角色类型,分别为Owner(拥有者)、Contributor(贡献者)或者Viewer(查看者)。对于TaraWebProject应用程序,我将为Jeff分配贡献者角色,即能动勾选Remote access复选框允许他进行远程访问。现在,我将点击Create按钮创建Jeff的IAM用户帐户。

接下来系统将我引导至IAM控制台,用以确定新IAM用户的创建操作。在审查了IAM用户信息及相关权限之后,我点击Create user按钮以完成Jeff IAM用户帐户的创建工作。

在成功创建了Jeff帐户之后,接下来最重要的是将Jeff的登录凭据通过电子邮件发送给他或者允许他下载相关.csv凭据文件——因为在此之后,我将无法重新检索这些凭据。如果在他获得当前登录凭据之前即离开页面,则我必须为Jeff生成的新的凭据。点击Close按键后,我重新返回至AWS CodeStar控制台处。

现在我可以选定JeffBarr-WebDev IAM角色并点击Add按钮,从而将Jeff添加为TaraWebProject项目团队中的一员。

到这里,我已经成功将Jeff添加为自己AWS CodeStar项目中的一员,接下来我们将能够就TaraWebProject项目开展合作开发。


另外令我感到兴奋的是,我真的很享受利用AWS CodeStar服务中的TaraWebProject仪表板对所有项目活动进行监控的感觉。我可以查看到应用程序活动、最近一切代码提交操作并追踪各类项目当前状态,例如构建结果、代码变更以及部署进度——全部皆可通过这套综合仪表板把握。AWS CodeStar利用Application Activity将该仪表板纳入Amazon CloudWatch当中,利用AWS CodePipeline提供Continuous Deployment中的构建与部署状态数据,同时在Commit history中利用AWS CodeCommit显示最新Git代码提交内容。

总结

在我的第一段AWS CodeStar服务之旅中,我创建了一款无服务器Web应用程序,并利用各项AWS服务为自己的TaraWebProject软件项目配置出一整套编码、构建、测试与部署开发工具链。更为惊人的是,到这里我甚至还没有开始利用AWS CodeStar管理与应用程序发布相关的日常软件开发活动。


AWS CodeStar使我们能够快速在AWS平台之上完成应用程序的开发、构建与部署工作。AWS CodeStar提供一套统一化用户界面,允许大家以集中方式轻松管理自己的软件开发活动。AWS CodeStar还允许大家从多种模板方案中选择最适合当前项目的选项,且配合AWS Lambda、Amazon EC2或者AWS Elastic Beanstalk等服务。其中提供一套预配置项目管理仪表板,自动化持续交付管道以及一套采用AWS CodeCommit、AWS CodeBuild、AWS COdePipeline以及AWS CodeDeploy的Git代码库,允许开发者实现各类现代敏捷软件开发最佳实践。每一个AWS CodeStar项目皆提供了大量可在支持GIt的主流IDE中直接使用的代码示例,用以进一步加快开发进度。另外,AWS CodeStar亦提供现成的Atlassian JIRA Software集成机制,负责直接立足AWS CodeStar控制台帮助您的软件团队实现项目管理与问题追踪。

马上点击“阅读原文

查看更多 AWS CodeStar信息