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安全。