Jenkins:将应用程序部署到EC2实例

问题描述 投票:0回答:2

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

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

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

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

amazon-web-services jenkins amazon-ec2 deployment amazon-cloudformation
2个回答
1
投票

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


1
投票

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

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

要遵循的步骤:

AWS CodeDeploy:] >>

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

] >>
  1. 在Jenkins上,使用合适的应用程序名称创建作业。
  2. [在“发布后操作”部分中,单击“添加发布后操作”Jenkins - post build configuration
  3. 选择:“将应用程序部署到AWS CodeDeploy”
  4. 在该部分中输入CodeDeploy和S3详细信息
  5. S3存储桶将包含用于使用Codedeploy部署到EC2的所有内部版本
© www.soinside.com 2019 - 2024. All rights reserved.