View a markdown version of this page

ECRBuildAndPublishcreare un riferimento all'azione - 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à.

ECRBuildAndPublishcreare un riferimento all'azione

Questa azione di creazione consente di automatizzare la creazione e l'invio di una nuova immagine quando si verifica una modifica nella fonte. Questa azione viene creata in base a una posizione Dockerfile specificata e invia l'immagine. Questa azione di compilazione non è la stessa dell'azione sorgente di Amazon ECR in CodePipeline, che attiva la pipeline quando si verifica una modifica nel tuo repository di sorgenti Amazon ECR. Per informazioni su tale azione, consulta. Riferimento all'azione sorgente di Amazon ECR

Questa non è un'azione di origine che attiverà la pipeline. Questa azione crea un'immagine e la invia al tuo repository di immagini Amazon ECR.

Devi aver già creato un repository Amazon ECR e aver aggiunto un Dockerfile al tuo repository di codice sorgente, ad esempio, prima di aggiungere l'azione alla tua GitHub pipeline.

Importante

Questa azione utilizza il CodeBuild calcolo CodePipeline gestito per eseguire comandi in un ambiente di compilazione. L'esecuzione dell'azione dei comandi comporterà costi separati in. AWS CodeBuild

Nota

Questa azione è disponibile solo per le pipeline di tipo V2.

Tipo di operazione

  • Categoria: Build

  • Proprietario: AWS

  • Provider: ECRBuildAndPublish

  • Versione: 1

Parametri di configurazione

ECRRepositoryName

Obbligatorio: sì

Il nome del repository Amazon ECR in cui viene inviata l'immagine.

DockerFilePath

Obbligatorio: no

La posizione del Dockerfile utilizzato per creare l'immagine. Facoltativamente, puoi fornire una posizione Dockerfile alternativa se non a livello root.

Nota

Se non DockerFilePath viene specificato un valore per, il valore predefinito è il livello radice del repository di origine.

ImageTags

Obbligatorio: no

I tag usati per l'immagine. È possibile immettere più tag come elenco di stringhe delimitato da virgole.

Nota

Se non viene specificato un valore per ImageTags, il valore predefinito è latest.

RegistryType

Obbligatorio: no

Specifica se il repository è pubblico o privato. I valori validi sono private | public.

Nota

Se non viene specificato un valore per RegistryType, il valore predefinito è private.

Input artifact (Artefatti di input)

  • Numero di artefatti: 1

  • Descrizione: l'artefatto prodotto dall'azione sorgente che contiene il Dockerfile necessario per creare l'immagine.

Artefatti di output

  • Numero di artefatti: 0

Variabili di output

Quando è configurata, questa azione produce variabili che possono essere referenziate dalla configurazione dell'azione di un'azione downstream nella pipeline. Questa azione produce variabili che possono essere viste come variabili di output, anche se l'azione non ha uno spazio dei nomi. È possibile configurare un'azione con uno spazio dei nomi per rendere tali variabili disponibili per la configurazione delle azioni downstream.

Per ulteriori informazioni, consulta Riferimento alle variabili.

ECRImageDigestId

Il file digest sha256 del manifest delle immagini.

ECRRepositoryName

Il nome del repository Amazon ECR in cui è stata inviata l'immagine.

Autorizzazioni relative ai ruoli di servizio: azione ECRBuildAndPublish

Per il supporto ECRBuildAndPublish all'azione, aggiungi quanto segue alla tua dichiarazione politica:

{ "Statement": [ { "Sid": "ECRRepositoryAllResourcePolicy", "Effect": "Allow", "Action": [ "ecr:DescribeRepositories", "ecr:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:PutImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": "PrivateECR_Resource_ARN" }, { "Effect": "Allow", "Action": [ "ecr-public:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:InitiateLayerUpload", "ecr-public:UploadLayerPart", "ecr-public:CompleteLayerUpload", "ecr-public:PutImage", "ecr-public:BatchCheckLayerAvailability", "sts:GetServiceBearerToken" ], "Resource": "PublicECR_Resource_ARN" }, { "Effect": "Allow", "Action": [ "sts:GetServiceBearerToken" ], "Resource": "*" } ] }

Inoltre, se non l'hai già aggiunto per l'Commandsazione, aggiungi le seguenti autorizzazioni al tuo ruolo di servizio per visualizzare CloudWatch i log.

{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "resource_ARN" },
Nota

Riduci le autorizzazioni al livello di risorsa della pipeline utilizzando le autorizzazioni basate sulle risorse nella dichiarazione della politica sul ruolo del servizio.

Per ulteriori informazioni su questa azione, vedere. ECRBuildAndPublishcreare un riferimento all'azione

Dichiarazione dell'operazione

YAML
name: ECRBuild actionTypeId: category: Build owner: AWS provider: ECRBuildAndPublish version: '1' runOrder: 1 configuration: ECRRepositoryName: actions/my-imagerepo outputArtifacts: [] inputArtifacts: - name: SourceArtifact region: us-east-1 namespace: BuildVariables
JSON
{ "name": "ECRBuild", "actionTypeId": { "category": "Build", "owner": "AWS", "provider": "ECRBuildAndPublish", "version": "1" }, "runOrder": 1, "configuration": { "ECRRepositoryName": "actions/my-imagerepo" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1", "namespace": "BuildVariables" },

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