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.
Argomenti
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
DockerFilePathviene 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
sha256del 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
Consulta anche
Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.
-
Tutorial: creazione e invio di un'immagine Docker ad Amazon ECR con CodePipeline (tipo V2)— Questo tutorial fornisce un Dockerfile di esempio e le istruzioni per creare una pipeline che invii l'immagine a ECR in caso di modifica al repository di origine e quindi la distribuisca su Amazon ECS.