将应用程序部署到EC2实例

时间:2018-12-16 14:41:47

标签: amazon-web-services amazon-ec2 amazon-cloudformation

我一直在为自己的环境设计云形成模板。我最终得到

  • VPC
  • 子网x2
  • 自动缩放组
  • 启动配置(AWS Linux AMI上的EC2实例)
  • 应用程序负载平衡器
  • 代码部署(用于部署)

但是,由于CloudFormation并非所有功能都可以使用,因此我对Cloud Deployment的CodeDeploy配置产生了问题。手动配置CodeDeploy之后,在部署时遇到错误,例如“异常实例太少”,即使启用了回滚,创建的实例也不会销毁。我现在仅使用一个EC2实例进行应用程序,但是将来计划进行扩展。

是否有CodeDeploy的替代方案?我有兴趣从Jenkins Machine触发部署。

2 个答案:

答案 0 :(得分:1)

出于您的要求,我强烈建议使用aws elastic beanstalk是将代码部署到AWS的更好方法。因为我们可以在elastic beanstalk中管理代码部署,所以可以使用codeship来管理与github集成的部署,而不是AWS代码部署。

答案 1 :(得分:1)

通过转到“实例设置”,确保为EC2实例分配了正确的 IAM角色。这将确保您的部署顺利进行而不会引发该错误。

您还可以通过jenkins使用CodeDeploy将部署配置为EC2。

要遵循的步骤:

AWS CodeDeploy:

  1. 创建一个新的CodeDeploy应用程序。
  2. 输入适当的应用程序名称,然后选择“ EC2 /本地”作为计算折叠形式。
  3. 在应用程序下添加一个部署组。例如:“测试”。
  4. 选择就地部署。
  5. 将服务角色添加为“代码部署开发”。 这将允许代码部署与其他AWS服务进行交互。
  6. 最好选择合适的部署配置:“ OneAtATime” 如果部署到单个EC2实例。
  7. 环境配置: 选择要在其中部署应用程序的EC2实例

Jenkins:

  1. 在Jenkins上,使用合适的应用程序名称创建作业。
  2. 在“生成后操作”部分中,单击“添加生成后操作” Jenkins - post build configuration
  3. 选择:“将应用程序部署到AWS CodeDeploy”
  4. 在部分中输入CodeDeploy和S3详细信息
  5. S3存储桶将包含用于使用Codedeploy部署到EC2的所有内部版本
相关问题