【问题标题】:Jenkins: Deploy application to an EC2 instanceJenkins:将应用程序部署到 EC2 实例
【发布时间】:2019-05-17 02:40:25
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      要遵循的步骤:

      AWS CodeDeploy:

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

      詹金斯:

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

      【讨论】:

        猜你喜欢
        • 2020-09-23
        • 2020-08-25
        • 2014-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-06
        • 2015-03-18
        • 1970-01-01
        相关资源
        最近更新 更多