View a markdown version of this page

Riferimento all'azione di distribuzione di Amazon Elastic Container Service - AWS CodePipeline

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Riferimento all'azione di distribuzione di Amazon Elastic Container Service

Puoi utilizzare un'azione Amazon ECS per distribuire un servizio e un set di attività Amazon ECS. Un servizio Amazon ECS è un'applicazione container distribuita in un cluster Amazon ECS. Un cluster Amazon ECS è una raccolta di istanze che ospitano l'applicazione container nel cloud. La distribuzione richiede una definizione di attività creata in Amazon ECS e un file di definizioni delle immagini da CodePipeline utilizzare per distribuire l'immagine.

Importante

L'azione di distribuzione standard di Amazon ECS CodePipeline crea una propria revisione della definizione dell'attività in base alla revisione utilizzata dal servizio Amazon ECS. Se crei nuove revisioni per la definizione dell'attività senza aggiornare il servizio Amazon ECS, l'azione di distribuzione ignorerà tali revisioni.

Prima di creare la pipeline, devi aver già creato le risorse Amazon ECS, etichettato e archiviato l'immagine nel tuo repository di immagini e caricato il file buildspec nel tuo repository di file.

Nota

Questo argomento di riferimento descrive l'azione di distribuzione standard di Amazon ECS per. CodePipeline Per informazioni di riferimento sulle azioni di CodeDeploy blue/green distribuzione di Amazon ECS in, consulta. CodePipeline Amazon Elastic Container Service e riferimento all'azione di distribuzione CodeDeploy blu-verde

Tipo di operazione

  • Categoria: Deploy

  • Proprietario: AWS

  • Provider: ECS

  • Versione: 1

Parametri di configurazione

ClusterName

Obbligatorio: sì

Il cluster Amazon ECS in Amazon ECS.

ServiceName

Obbligatorio: sì

Il servizio Amazon ECS che hai creato in Amazon ECS.

FileName

Obbligatorio: no

Il nome del file di definizioni delle immagini, il file JSON che descrive il nome del contenitore del servizio, l'immagine e il tag. Questo file viene utilizzato per le implementazioni standard ECS. Per ulteriori informazioni, consulta Input artifact (Artefatti di input) e file imagedefinitions.json per le azioni di distribuzione standard di Amazon ECS.

DeploymentTimeout

Obbligatorio: no

Il timeout dell'azione di distribuzione di Amazon ECS è espresso in minuti. Il timeout è configurabile fino al timeout predefinito massimo per questa operazione. Ad esempio:

"DeploymentTimeout": "15"

Input artifact (Artefatti di input)

  • Numero di artefatti: 1

  • Descrizione: l'azione cerca un imagedefinitions.json file nell'archivio dei file di origine per la pipeline. Un documento di definizioni delle immagini è un file JSON che descrive il nome del contenitore Amazon ECS, l'immagine e il tag. CodePipeline utilizza il file per recuperare l'immagine dal tuo repository di immagini come Amazon ECR. Puoi aggiungere manualmente un imagedefinitions.json file per una pipeline in cui l'azione non è automatizzata. Per ulteriori informazioni sul file imagedefinitions.json, consulta file imagedefinitions.json per le azioni di distribuzione standard di Amazon ECS.

    L'azione richiede un'immagine esistente che sia già stata inserita nel tuo archivio di immagini. Poiché la mappatura delle immagini è fornita dal imagedefinitions.json file, l'azione non richiede che la fonte Amazon ECR sia inclusa come azione sorgente nella pipeline.

Artefatti di output

  • Numero di artefatti: 0

  • Descrizione: gli artefatti di output non si applicano a questo tipo di azione.

Autorizzazioni relative ai ruoli di servizio: azione standard di Amazon ECS

Per Amazon ECS, le seguenti sono le autorizzazioni minime necessarie per creare pipeline con un'azione di distribuzione di Amazon ECS.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "TaskDefinitionPermissions", "Effect": "Allow", "Action": [ "ecs:DescribeTaskDefinition", "ecs:RegisterTaskDefinition" ], "Resource": [ "*" ] }, { "Sid": "ECSServicePermissions", "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:UpdateService" ], "Resource": [ "arn:aws:ecs:*:111122223333:service/[[clusters]]/*" ] }, { "Sid": "ECSTagResource", "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": [ "arn:aws:ecs:*:111122223333:task-definition/[[taskDefinitions]]:*" ], "Condition": { "StringEquals": { "ecs:CreateAction": [ "RegisterTaskDefinition" ] } } }, { "Sid": "IamPassRolePermissions", "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::111122223333:role/[[passRoles]]" ], "Condition": { "StringEquals": { "iam:PassedToService": [ "ecs.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } } ] }

Puoi scegliere di utilizzare l'autorizzazione di etichettatura in Amazon ECS. Accedendo, devi concedere le seguenti autorizzazioni:. ecs:TagResource Per ulteriori informazioni su come attivare e determinare se l'autorizzazione è richiesta e l'autorizzazione ai tag è applicata, consulta la cronologia dell'autorizzazione ai tag nella Amazon Elastic Container Service Developer Guide.

È necessario aggiungere le iam:PassRole autorizzazioni per utilizzare i ruoli IAM per le attività. Per ulteriori informazioni, consulta Amazon ECS Task Execution IAM role e IAM Roles for Tasks. Utilizza il seguente testo della policy.

Dichiarazione dell'operazione

YAML
Name: DeployECS ActionTypeId: Category: Deploy Owner: AWS Provider: ECS Version: '1' RunOrder: 2 Configuration: ClusterName: my-ecs-cluster ServiceName: sample-app-service FileName: imagedefinitions.json DeploymentTimeout: '15' OutputArtifacts: [] InputArtifacts: - Name: my-image
JSON
{ "Name": "DeployECS", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "ECS", "Version": "1" }, "RunOrder": 2, "Configuration": { "ClusterName": "my-ecs-cluster", "ServiceName": "sample-app-service", "FileName": "imagedefinitions.json", "DeploymentTimeout": "15" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "my-image" } ] },

Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.