使用AWS Code Deploy和Jenkins有什么优缺点?

时间:2016-07-06 06:40:41

标签: amazon-web-services jenkins continuous-integration continuous-deployment aws-code-deploy

我们正在使用一堆可能在未来扩展的EC2实例(大约100个实例),现在我们正在寻求使用Jenkins或AWS Code部署进行自动部署。

我发现我们可以在Jenkins中使用AWS Code部署插件,但有哪些优缺点?

1)独立的AWS Code Deploy 2)使用AWS Code Deploy插件的Jenkins。

2 个答案:

答案 0 :(得分:15)

我们使用CodeDeploy和Jenkins来管理AWS环境的部署。

他们每个人都有自己的角色,我不认为这是一个pro / con分析。我相信你需要 BOTH 来管理持续集成构建(Jenkins)以及将测试构建部署到EC2环境的过程(CodeDeploy)

以下是我们的设置:

  1. Jenkins民意调查我们的SCM已更改。发生更改时,应用程序将构建,存档为ZIP,并在CodeDeploy中注册为可部署工件。我们使用Jenkins内部版本编号标记修订版 - 比如app_6111.zip。每个构建都发送到我们的代码部署桶:s3:codedeploy-example-com / app

  2. 在CodeDeploy中,我们配置了一个应用程序,每个环境都有部署组,例如Testing,Production。由于我们使用#1,因此我们所有的构建都可以立即部署。因此,只需点击一下,我们就会将修订版app_6111.zip部署到测试服务器。

  3. 对于我们来说,詹金斯是一支现代化的瑞士军刀,不断整合,测试和部署。它是我们可以管理构建,测试和构建部署工件的主干。我们可以与所有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比较。许多事情都会变得清晰。

http://stackshare.io/stackups/aws-codedeploy-vs-jenkins