Fügt ein Containerbild -URI in eine JSON -Datei mit Amazon ECS -Task Definition ein und erstellt eine neue Task -Definitionsdatei.
Inhaltsverzeichnis
Wenn die Aufgabendefinitionsdatei bereitgestellt wird, hat dies Vorrang vor einer anderen Option, um die Aufgabendefinition abzurufen. Wenn sowohl Aufgabendefinitionsdatei als auch Task -Definition von ARN bereitgestellt werden, wird eine Warnung, dass beide bereitgestellt wurden, zurückgegeben und die Aufgabendefinitionsdatei verwendet. Wenn keine von beiden Taskendefinitionsdateien, Task -Definitions -ARN und Task -Definitionsfamilie bereitgestellt werden, wird ein Fehler geworfen. (Mindestens eine Option muss bereitgestellt werden)
So fügen Sie das Image Uri amazon/amazon-ecs-sample:latest als Bild für den web in der Aufgabendefinitionsdatei und geben Sie die bearbeitete Task-Definitionsdatei in ECS ein:
- 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 Wenn Ihre Task-Definition-Datei im Abschnitt containerDefinitions mehrere Container enthält, die aktualisierte Bild-URIs erfordern, ketten Sie mehrere Ausführungen dieser Aktion mithilfe des Ausgabewerts aus der ersten Aktion für die task-definition Eingabe der zweiten zusammen:
- 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-clusterVerwenden Sie den folgenden Ansatz, um Ihren Protokolltreiber bei Bedarf zu konfigurieren:
- 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
In Action.yml finden Sie die vollständige Dokumentation für die Eingaben und Ausgänge dieser Aktion.
Dieser Code wird im Rahmen der MIT -Lizenz zur Verfügung gestellt.
Wenn Sie in diesem Projekt ein potenzielles Sicherheitsproblem melden möchten, erstellen Sie bitte kein GitHub -Problem. Befolgen Sie stattdessen die Anweisungen hier oder E -Mail -AWS -Sicherheit direkt.