使用 AWS Elastic Beanstalk 与 AWS CodeDeploy 的自动化

Muh*_*zad 6 continuous-integration amazon-web-services jenkins amazon-elastic-beanstalk aws-code-deploy

我正在使用 AWS Elastic Beanstalk 并在其上部署了我的 nodejs 应用程序。现在我想自动化这个过程,即向 Github 提交更改,然后在应用程序中自动反映这些更改。现在我有两个选择,使用 Elastic Beanstlak 或使用 Code Deploy。我已经搜索了这两个服务,

现在这两种服务都可以使用,但哪个更适合使用。无论是使用 AWS Elastic Beanstalk 还是 AWS Code Deploy,这都将自动化我的流程。

Mak*_*zik 15

最大的区别在于:

  • CodeDeploy 是将您的应用程序部署到现有 EC2 实例的服务。它不考虑负载平衡或缩放等。
  • ElasticBeanstalk 更像是 PaaS 服务,它为您提供扩展应用程序所需的所有包装,因此您无需担心 DevOps 方面。如监控、缩放等。

我发现这张图片可以很好地描述差异。还包括 OpsWorks: aws-cloud-部署

如果您想了解有关 CodeDeploy、Elastic Beanstalk 或 OpsWorks 差异的更多信息,请查看 AWS 自己的文档:https ://d0.awsstatic.com/whitepapers/overview-of-deployment-options-on-aws.pdf


Arl*_*rie 5

答案很简单。ElasticBeanstalk 提供基于一组 AWS 常见实践的千篇一律的自动化部署。CodeDeploy 具有广泛的可配置性和可定制性。

您应该使用 ElasticBeanstalk,直到找到一个不使用 CodeDeploy 就无法解决的用例(Maksim Luzik 发布的 AWS 文档建议的两个用例是部署到您组织内部管理的 EC2 实例和部署到 EC2 实例以进行第三方集成)。


Has*_*hmi 2

使用第二个选项而不是使用第三方工具,因为 AWS 平台支持使用基于 python 的脚本使用 git 或 bitbucket 来部署您的应用程序。