amazon ecs render task definition
v1.6.0
将容器图像URI插入Amazon ECS任务定义JSON文件中,创建一个新的任务定义文件。
目录
如果提供了任务定义文件,该文件比其他任何其他选项都具有获取任务定义的优先级。如果提供了任务定义文件和任务定义ARN,则警告两者都将被返回,并且将使用任务定义文件。如果未提供任务定义文件,任务定义和任务定义家族,则将丢弃错误。 (至少需要提供一个选项)
要插入图像URI amazon/amazon-ecs-sample:latest作为任务定义文件中web容器的图像,然后将编辑的任务定义文件部署到ECS:
- name : Render Amazon ECS task definition
id : render-web-container
uses : aws-actions/amazon-ecs-render-task-definition@v1
with :
task-definition : task-definition.json
task-definition-arn : task-definition-arn
task-definition-family : task-definition-family-name
task-definition-revision : task-definition-revision
container-name : web
image : amazon/amazon-ecs-sample:latest
environment-variables : " LOG_LEVEL=info "
secrets : " SECRET_KEY=arn:aws:ssm:region:0123456789:parameter/secret "
- name : Deploy to Amazon ECS service
uses : aws-actions/amazon-ecs-deploy-task-definition@v2
with :
task-definition : ${{ steps.render-web-container.outputs.task-definition }}
service : my-service
cluster : my-cluster如果您的任务定义文件在containerDefinitions部分中包含多个容器,该部分需要更新的图像URI,则使用第一个操作中的第一个操作中的输出值链多次执行此操作,用于第二个操作的task-definition输入:
- name : Render Amazon ECS task definition for first container
id : render-web-container
uses : aws-actions/amazon-ecs-render-task-definition@v1
with :
task-definition : task-definition.json
container-name : web
image : amazon/amazon-ecs-sample-1:latest
environment-variables : |
LOG_LEVEL=info
ENVIRONMENT=prod
docker-labels : |
SERVICE=service
VERSION=version
secrets : |
SECRET_KEY=arn:aws:ssm:region:0123456789:parameter/secret
SECOND_SECRET_KEY=arn:aws:secretsmanager:us-east-1:0123456789:secret:secretName
- name : Modify Amazon ECS task definition with second container
id : render-app-container
uses : aws-actions/amazon-ecs-render-task-definition@v1
with :
task-definition : ${{ steps.render-web-container.outputs.task-definition }}
container-name : app
image : amazon/amazon-ecs-sample-2:latest
- name : Deploy to Amazon ECS service
uses : aws-actions/amazon-ecs-deploy-task-definition@v2
with :
task-definition : ${{ steps.render-app-container.outputs.task-definition }}
service : my-service
cluster : my-cluster使用以下方法在需要时配置日志驱动程序:
- name : Render Amazon ECS task definition
id : render-web-container
uses : aws-actions/amazon-ecs-render-task-definition@v1
with :
task-definition : task-definition.json
container-name : web
image : amazon/amazon-ecs-sample:latest
log-configuration-log-driver : awslogs
log-configuration-options : |
awslogs-create-group=true
awslogs-group=/ecs/web
awslogs-region=us-east-1
awslogs-stream-prefix=ecs
有关此操作的输入和输出的完整文档,请参见Action.yml。
此代码可根据MIT许可提供。
如果您想在此项目中报告潜在的安全问题,请不要创建GitHub问题。相反,请按照此处的说明或直接发送电子邮件给AWS安全。