Вставьте URI изображения контейнера в файл JSON Amazon ECS, создавая новый файл определения задач.
Оглавление
Если предоставлен файл определения задачи, который имеет приоритет над любым другим вариантом, чтобы получить определение задачи. Если будут предоставлены как файл определения задачи, так и определение задач, предупреждение о том, что оба были предоставлены, будет возвращено и будет использоваться файл определения задач. Если ни один из файлов определения задачи, определение задач 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 Security напрямую.