通过AWS CLI将ECR映像部署到ECS实例

时间:2019-03-12 02:58:50

标签: amazon-web-services amazon-ecs amazon-ecr

到目前为止,我可以在buildspec.yml文件中创建一个docker映像并将其存储在ECR存储库中(我正在使用代码管道)。我的问题是如何使用aws cli命令通过buildspec.yml将其部署到ECS实例?

1 个答案:

答案 0 :(得分:0)

我正在共享buildspec.yaml文件看看

version: 0.1
phases:
  pre_build:
    commands:
      - echo Setting timestamp for container tag
      - echo `date +%s` > timestamp
      - echo Logging into Amazon ECR...
      - $(aws ecr get-login --region $AWS_DEFAULT_REGION)
  build:
    commands:
      - echo Building and tagging container
      - docker build -t $REPOSITORY_NAME .
      - docker tag $REPOSITORY_NAME $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$REPOSITORY_NAME:$BRANCH-`cat ./timestamp`
  post_build:
    commands:
      - echo Pushing docker image
      - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$REPOSITORY_NAME:$BRANCH-`cat ./timestamp`
      - echo Preparing CloudFormation Artifacts
      - aws s3 cp s3://$ECS_Bucket/$ECS_SERVICE_KEY task-definition.template
      - aws s3 cp s3://$ECS_Bucket/$ECS_SERVICE_PARAMS_KEY cf-config.json
artifacts:
  files:
    - task-definition.template
    - cf-config.json

您可以为ECS实例编辑此更多命令,因为我有返回模板,可以用来形成云。

您可以编写简单的awscli命令来创建群集并提取图像,请查看以下AWS文档:https://docs.aws.amazon.com/cli/latest/reference/ecs/index.html

共享我自己的git,以查看更多信息:https://github.com/harsh4870/ECS-CICD-pipeline