แทรก URI Image Image คอนเทนเนอร์ลงในไฟล์นิยามงานของ Amazon ECS โดยสร้างไฟล์นิยามงานใหม่
สารบัญ
หากมีการให้ไฟล์นิยามงานที่มีความสำคัญเหนือตัวเลือกอื่น ๆ เพื่อดึงคำจำกัดความของงาน หากทั้งไฟล์นิยามงานและคำจำกัดความของงาน ARN มีการแจ้งเตือนว่าทั้งสองได้รับการจัดเตรียมจะถูกส่งคืนและจะใช้ไฟล์นิยามงาน หากไม่มีไฟล์นิยามงานคำจำกัดความงาน 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 ซึ่งต้องการอัพเกรดอิมเมจอัพเดทการดำเนินการหลายอย่างของการดำเนินการนี้ร่วมกันโดยใช้ค่าเอาต์พุตจากการกระทำแรกสำหรับอินพุต 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 โดยตรง