AWS CI / CD是什么?
亚马逊网络服务(AWS)提供CI / CD工具旨在加快软件开发周期。“CI / CD”一词包括以下方面:
- 持续集成(CI)指的是一个发展过程,涉及定期推GitHub和AWS CodeCommit代码存储库。每一个代码将触发一个自动构建,紧随其后的是测试。
- 持续交付(CD)指一个部署过程,涉及部署工件登台环境,测试环境和生产环境。DevOps团队可以完全自动化CD过程或添加审批阶段的临界点。
CI帮助开发人员在开发过程中尽早发现代码问题。早期的发现使开发人员能够提高代码的质量,减少所花费的时间验证和发布软件更新。光盘可以帮助开发人员确保他们总是有一个部署就绪构建工件已通过测试的标准。
持续交付和持续部署
首字母缩写CD互换常被用来指持续交付和持续部署。然而,有两个进程之间的关键差异,包括:
- 持续部署完全自动化软件发布周期——连续部署过程自动部署修改生产环境中不需要明确的批准。结果是一个持续的客户反馈回路,在产品生命周期的早期开始。
- 持续交付,确保每一个变化是准备去生产——持续交付过程关注新的代码部署做准备。重点是制备完全自动化的过程,得到新特性和更新的用户快速和安全。
本文简介:
- 服务可以用来建立一个AWS CI / CD管道
- AWS CodePipeline
- AWS CodeDeploy
- Amazon EC2
- AWS CodeCommit
- 教程:创建一个简单的CI / CD在AWS管道
- 1。创建一个CodeCommit存储库
- 2。在CodeDeploy创建应用程序
- 3所示。创建您的第一个CodePipeline管道
- AWS CI / CD由NetApp
服务可以用来建立一个AWS CI / CD管道
AWS CodePipeline
AWS CodePipeline提供了一个持续交付(CD)服务的快速和可靠的应用程序更新。根据预定义的发布流程模型,服务可以构建、测试和部署代码。您可以利用AWS CodePipeline增加更新交货的速度,同时保持可靠性。
AWS CodePipeline允许您轻松地构建一个端到端解决方案使用插件为流行的第三方服务,比如GitHub。或者,您可以自定义插件集成到发布过程的不同阶段。AWS CodePipeline账单仅供你使用,不收取任何前期费用或要求的长期承诺。
AWS CodeDeploy
AWS CodeDeploy自动化部署代码Amazon EC2实例,亚马逊ECS任务,AWS Fargate, AWSλ,以及机器运行本地。您可以使用AWS CodeDeploy发布新功能在应用程序部署,避免停机。此外,服务可以自动更新的应用程序,而风险容易出错的手动部署。
Amazon EC2
Amazon EC2提供基于云计算的虚拟化服务器的使用,通常被称为实例。EC2允许您轻松地配置和规模计算能力,以满足不断变化的需求和要求。与其他AWS服务无缝集成产品。
AWS CodeCommit
AWS CodeCommit提供了完整的源代码控制。服务让您主机高度可伸缩的和安全的私有Git存储库在AWS云。CodeCommit提供了源代码和二进制文件的安全云存储。
教程:创建一个简单的CI / CD在AWS管道
这些指令从AWS CodePipeline缩写官方教程。本教程展示了如何使用CodePipeline代码更改部署到一个Amazon EC2实例。它显示了如何创建一个亚马逊CodeCommit库来存储您的代码,并使用CodeDeploy部署更改。
1。创建一个CodeCommit存储库
让我们看看如何创建一个CodeCommit库,推动代码来从您的本地存储库:
- CodeCommit控制台的访问。您可以使用这个URL: https://console.aws.amazon.com/codecommit/。
- 点击地区并选择一个AWS区域这就是亚马逊将创建您的代码库和CI / CD管道。
- 导航到存储库页面,点击创建存储库。为回购并单击输入一个名字创建。
- 保持新回购在浏览器中打开,点击克隆的URL在屏幕的右上角,并选择克隆SSH,复制URL CodeCommit Git存储库。
- 打开终端,创建一个本地目录,应该存储本地回购,并运行以下命令。“SSH访问URL”替换为你复制从控制台的地址:
git克隆< SSH访问URL > - 最后,添加一些示例代码。从亚马逊下载这个文件:SampleApp_Linux.zip并将其解压缩到本地回购。
2。在CodeDeploy创建应用程序
亚马逊CodeDeploy使用一个应用程序中,此表示的概念您正在发展和需要部署的应用程序。让我们创建一个示例应用程序在CodeDeploy:
- CodeDeploy控制台的访问。你可以使用这个URL:https://console.aws.amazon.com/codedeploy。
- 点击应用程序>创建应用程序为您的应用程序,输入一个名字。
- 下计算平台中,选择EC2 /本地,然后单击创建应用程序。
3所示。创建一个EC2 Linux实例并安装CodeDeploy代理(P2)
AWS让你安装一个CodeDeploy代理部署您的应用程序可以使用一个我的角色。这里是如何创建一个实例的作用:
- 去我控制台使用这个URL:https://console.aws.amazon.com/iam/。
- 去我控制台仪表板和选择角色选择。
- 选择创建角色。
- 找到选择可信的实体类型选项并选择AWS服务。
- 定位选择一个用例和选择EC2。
- 当被要求选择您的用例,选择EC2。然后,选择下一个:权限。
- 找到并选择政策称为“AmazonEC2RoleforAWSCodeDeploy”。
- 选择下一个:标签选择。
- 选择下一个:审查选择。
- 类型一个描述性的名称为您的新角色。例如,
myEC2InstanceRole。 - 选择创建角色选择。
4所示。创建您的第一个CodePipeline管道
我们现在有一个回购和一个应用程序。让我们一起把它通过创建一个管道接受代码变更和自动部署应用程序:
- CodePipeline控制台的访问。您可以使用这个URL: https://console.aws.amazon.com/codesuite/codepipeline/home。
- 点击创建管道。
- 在步骤1,输入管道的名字。下服务的角色中,选择新服务的角色。点击下一个。
- 在步骤2下,源提供者中,选择CodeCommit。下库名称,选择前面创建的CodeCommit库,然后选择
主要下分支机构名称。点击下一个。
图片来源:AWS - 在步骤3,选择跳过构建阶段,然后单击下一个。
- 在步骤4下,部署提供者中,选择AWS CodeDeploy,并选择前面创建的应用程序。下部署组,选择唯一可用的部署组,然后单击下一个。

图片来源:AWS - 在步骤5,检查您所选择的选项并单击创建管道。
就是这样!你的自动CI / CD管道立即开始运行。测试,提交你的示例代码添加到您的本地存储库。接下来会发生什么:
- 你从CodeCommit CodePipeline下载代码库
- CodeDeploy开始一个EC2实例并部署应用程序。
- 你可以看到在CodeDeploy控制台部署的进度。

图片来源:AWS
NetApp AWS CI / CD与现货
持续交付已进入一个新的阶段,越来越多的应用程序迁移到microservices,与Kubernetes容器协调器的选择很多。Kubernetes使敏捷性和更快的软件开发周期,但随着释放频率增加,支持交付在大规模变得复杂和低效的。
现货,NetApp介绍海洋CD作为海洋套件的一部分Kubernetes解决现代交付发布周期的具体挑战。海洋CD提供完整的部署和验证在一个完整的自动化解决方案,方便用户执行部署高的信心。海洋CD的关键特性包括:
开箱即用的进步交付策略
金丝雀和蓝色/绿色策略很容易定义、自动化和定制。开发人员提交的代码,使用任何CI工具和海洋CD检测部署,自动启动指定的推广策略。
连续验证自动化
确保稳定的质量和部署即使释放频率增加。常规验证部署进行自动从监控工具和基于指标DataDog和新遗迹。
自动回滚
当检测到问题,海洋CD启动安全回滚并自动调基础设施,以满足不断变化的工作负载需求。持续改进是由应用程序部署基于指标验证过程中收集到的。

