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