繁体   English   中英

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

[英]Jenkins: Deploy application to an EC2 instance

我一直在为我的环境开发云形成模板。 我最终得到了一个

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

但是我遇到了带有 Cloud Formation 的 CodeDeploy 配置的问题,因为并非所有功能都适用于 EC2 实例。 手动配置 CodeDeploy 后,我在部署时遇到错误,例如“不健康的实例太少”,之后即使启用回滚,创建的实例也不会被销毁。 我现在只使用一个 EC2 实例用于应用程序,但计划在未来进行扩展。

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

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

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

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

要遵循的步骤:

AWS 代码部署:

  1. 创建一个新的 CodeDeploy 应用程序。
  2. 输入合适的应用程序名称并选择“EC2/On premises”作为计算平台。
  3. 在应用程序下添加一个部署组。 例如:“测试”。
  4. 选择就地部署。
  5. 将服务角色添加为“Codedeploy development”。 这将允许 codedeploy 与其他 AWS 服务交互。
  6. 最好选择合适的部署配置:如果部署到单个 EC2 实例,请选择“OneAtATime”。
  7. 环境配置:选择要部署应用的EC2实例

詹金斯:

  1. 在 Jenkins 上,使用合适的应用程序名称创建一个作业。
  2. 在“Post Build Action”部分,点击“Add Post Build Action” Jenkins - post build configuration
  3. 选择:“将应用程序部署到 AWS CodeDeploy”
  4. 在部分中输入 CodeDeploy 和 S3 详细信息
  5. S3 存储桶将包含所有用于使用 Codedeploy 部署到 EC2 上的构建

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM