使用 AWS Elastic Beanstalk 与 AWS CodeDeploy 实现自动化
Automation using AWS Elastic Beanstalk vs AWS CodeDeploy
我正在使用 AWS Elastic Beanstalk 并在其上部署了我的 nodejs 应用程序。现在我想自动化这个过程,即提交对 Github 的更改,然后自动在应用程序中反映这些更改。现在我有两个选择,使用 Elastic Beanslak 还是使用 Code Deploy。
我搜索了这两种服务,
我可以将 deployBot 与 elastic beanstalk 一起使用或使用
用于自动化的 jenkins 插件(AWS Elastic Beanstalk 部署
插件)用于弹性豆茎。
还发现这个 link 可以自动化:
https://aws.amazon.com/blogs/devops/building-continuous-deployment-on-aws-with-aws-codepipeline-jenkins-and-aws-elastic-beanstalk/
我还可以使用 AWS CodeDeploy 服务实现自动化,以便在 EC2 上部署我的应用程序
使用 CodeCommit 的实例,代码管道。
在代码部署的情况下,我也可以使用这个:
https://aws.amazon.com/blogs/devops/automatically-deploy-from-github-using-aws-codedeploy/
现在两个服务都可以用了,但是哪个更适合用呢。这将使我的流程自动化,无论是使用 AWS Elastic Beanstalk 还是 AWS Code Deploy。
使用第二个选项而不是使用第三方工具,因为 AWS 平台支持使用 git 或使用基于 python 的脚本的 bitbucket 部署您的应用程序。
最大的区别在于:
- CodeDeploy 是将您的应用程序部署到现有 EC2 实例的服务。它没有考虑负载平衡或缩放等。
- ElasticBeanstalk 更像是一种 PaaS 服务,它为您提供扩展应用程序所需的所有包装,因此您无需担心 DevOps 方面。比如监控、缩放等
我发现这张图片很好地描述了差异。还包括 OpsWorks:
如果您想了解更多关于 CodeDeploy、Elastic Beanstalk 或 OpsWorks 的差异,请查看 AWS 自己的文档:https://d0.awsstatic.com/whitepapers/overview-of-deployment-options-on-aws.pdf
答案很简单。 ElasticBeanstalk 基于一组 AWS 通用实践提供千篇一律的自动化部署。 CodeDeploy 具有广泛的可配置性和可定制性。
您应该使用 ElasticBeanstalk,直到找到一个不使用 CodeDeploy 就无法解决的用例(Maksim Luzik 发布的 AWS 文档建议的两个用例是部署到您的组织内部管理的 EC2 实例和部署到 EC2 实例用于第三方集成)。
我使用过这两种工具,它们都非常适合各自的工作。我发现 ElasticBeans 任务很方便,但在使用自定义平台时灵活性较差。
我在当前的应用程序中使用 codeDeploy。我决定这样做是因为以下用例。
- 我正在使用基于 debian 的平台。 Elastic BeansTalks 不在其可用平台的默认列表中提供该平台。那么如果我需要创建自定义 AMI 有什么意义呢。
- 我有两种基于相同代码库构建的应用程序。一个是 Web,另一个在后台执行几个队列。我需要在两种类型的应用程序上发布相同的代码,所以我发现 codeDeploy 做得更好。
我正在使用 AWS Elastic Beanstalk 并在其上部署了我的 nodejs 应用程序。现在我想自动化这个过程,即提交对 Github 的更改,然后自动在应用程序中反映这些更改。现在我有两个选择,使用 Elastic Beanslak 还是使用 Code Deploy。 我搜索了这两种服务,
我可以将 deployBot 与 elastic beanstalk 一起使用或使用 用于自动化的 jenkins 插件(AWS Elastic Beanstalk 部署 插件)用于弹性豆茎。 还发现这个 link 可以自动化: https://aws.amazon.com/blogs/devops/building-continuous-deployment-on-aws-with-aws-codepipeline-jenkins-and-aws-elastic-beanstalk/
我还可以使用 AWS CodeDeploy 服务实现自动化,以便在 EC2 上部署我的应用程序 使用 CodeCommit 的实例,代码管道。 在代码部署的情况下,我也可以使用这个: https://aws.amazon.com/blogs/devops/automatically-deploy-from-github-using-aws-codedeploy/
现在两个服务都可以用了,但是哪个更适合用呢。这将使我的流程自动化,无论是使用 AWS Elastic Beanstalk 还是 AWS Code Deploy。
使用第二个选项而不是使用第三方工具,因为 AWS 平台支持使用 git 或使用基于 python 的脚本的 bitbucket 部署您的应用程序。
最大的区别在于:
- CodeDeploy 是将您的应用程序部署到现有 EC2 实例的服务。它没有考虑负载平衡或缩放等。
- ElasticBeanstalk 更像是一种 PaaS 服务,它为您提供扩展应用程序所需的所有包装,因此您无需担心 DevOps 方面。比如监控、缩放等
我发现这张图片很好地描述了差异。还包括 OpsWorks:
如果您想了解更多关于 CodeDeploy、Elastic Beanstalk 或 OpsWorks 的差异,请查看 AWS 自己的文档:https://d0.awsstatic.com/whitepapers/overview-of-deployment-options-on-aws.pdf
答案很简单。 ElasticBeanstalk 基于一组 AWS 通用实践提供千篇一律的自动化部署。 CodeDeploy 具有广泛的可配置性和可定制性。
您应该使用 ElasticBeanstalk,直到找到一个不使用 CodeDeploy 就无法解决的用例(Maksim Luzik 发布的 AWS 文档建议的两个用例是部署到您的组织内部管理的 EC2 实例和部署到 EC2 实例用于第三方集成)。
我使用过这两种工具,它们都非常适合各自的工作。我发现 ElasticBeans 任务很方便,但在使用自定义平台时灵活性较差。
我在当前的应用程序中使用 codeDeploy。我决定这样做是因为以下用例。
- 我正在使用基于 debian 的平台。 Elastic BeansTalks 不在其可用平台的默认列表中提供该平台。那么如果我需要创建自定义 AMI 有什么意义呢。
- 我有两种基于相同代码库构建的应用程序。一个是 Web,另一个在后台执行几个队列。我需要在两种类型的应用程序上发布相同的代码,所以我发现 codeDeploy 做得更好。