【问题标题】:Automatic deployment of Docker containers on AWS ECS using Jenkins or Job Scheduler使用 Jenkins 或 Job Scheduler 在 AWS ECS 上自动部署 Docker 容器
【发布时间】:2016-05-20 22:32:56
【问题描述】:

目前我们构建 Docker 容器并将它们发布到 Amazon ECR。我们已经创建了 TaskDefinition,并且能够在 ECS 集群上手动部署它们。因此,新部署需要手动更新 TaskDefinition。

现在我们希望自动化部署,因此当使用 Jenkins 成功构建 Docker 映像并发布到 ECR 存储库时,我们希望将当前运行的版本替换为新构建的版本。

接下来,我们希望让人们有机会启动 1 个或多个 docker 容器组合的特定版本。关于我们如何在不手动更新 TaskDefinitions 的情况下实现连续循环的任何建议?

【问题讨论】:

    标签: amazon-web-services jenkins continuous-integration amazon-ecs


    【解决方案1】:

    This article 描述了如何使用 Jenkins 对 ECS 进行持续部署。它在构建映像并推送后使用 shell 脚本以新的任务定义修订更新 ECS 服务。希望能帮助到你。

    【讨论】:

    • 文章写完两年多了,还没有新的方法吗?
    【解决方案2】:

    一个更简单的解决方案可能是从这里使用 ecs-deploy 脚本:

    https://github.com/silinternational/ecs-deploy

    在我的容器构建并部署到 dockerhub 之后,只需:

    ecs-deploy -k $AWS_KEY -s $AWS_SECRET -r $AWS_REGION -c $CLUSTER_NAME -n $SERVICE_NAME -i $DOCKER_IMAGE_NAME
    

    就是这样。

    【讨论】:

    • 这比答案中链接的文章更有用,它在尝试使用生成的 JSON 文件时会给我带来错误。未来读者请注意:ecs-deploy 仅更新任务定义的 1 个容器,因此如果您有多个容器,则需要使用不同的参数多次运行它,或者使用其他解决方案。
    • 如何在VSTS powershell中安装aws-cli?
    猜你喜欢
    • 2017-09-30
    • 2020-12-30
    • 2020-11-22
    • 2018-04-13
    • 2021-01-24
    • 2017-12-30
    • 2017-02-17
    • 2017-07-30
    • 2019-04-08
    相关资源
    最近更新 更多