我们正在使用一堆可能在未来扩展的EC2实例(大约100个实例),现在我们正在寻求使用Jenkins或AWS Code部署进行自动部署。
我发现我们可以在Jenkins中使用AWS Code部署插件,但有哪些优缺点?
1)独立的AWS Code Deploy 2)使用AWS Code Deploy插件的Jenkins。
答案 0 :(得分:15)
我们使用CodeDeploy和Jenkins来管理AWS环境的部署。
他们每个人都有自己的角色,我不认为这是一个pro / con分析。我相信你需要 BOTH 来管理持续集成构建(Jenkins)以及将测试构建部署到EC2环境的过程(CodeDeploy)
以下是我们的设置:
Jenkins民意调查我们的SCM已更改。发生更改时,应用程序将构建,存档为ZIP,并在CodeDeploy中注册为可部署工件。我们使用Jenkins内部版本编号标记修订版 - 比如app_6111.zip。每个构建都发送到我们的代码部署桶:s3:codedeploy-example-com / app
在CodeDeploy中,我们配置了一个应用程序,每个环境都有部署组,例如Testing,Production。由于我们使用#1,因此我们所有的构建都可以立即部署。因此,只需点击一下,我们就会将修订版app_6111.zip部署到测试服务器。
对于我们来说,詹金斯是一支现代化的瑞士军刀,不断整合,测试和部署。它是我们可以管理构建,测试和构建部署工件的主干。我们可以与所有AWS服务集成,例如S3,CodeDeploy,Elastic Beanstalk等。
回答您的具体问题:
我发现我们可以在Jenkins中使用AWS Code部署插件,但是什么 是跟随的利弊吗?
1)独立AWS代码部署
独立的CodeDeploy不会与您的构建过程集成。必须将其配置为手动上载的静态S3工件或Github URL。 Github很好,但是没有构建的概念 - 它从master或其他分支部署。例如,您无法轻松回滚到已知构建。测试未集成。无法管理任务/工作。
2)Jenkins使用AWS Code Deploy插件。
这是恕我直言的首选方法。使用这两种工具。构建已知且经过测试的构建,然后将部署注册到CodeDeploy。生活很美好。
答案 1 :(得分:3)
由各种开发人员检查此stackshare比较。许多事情都会变得清晰。