Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
ECRBuildAndPublishAktionsreferenz erstellen
Mit dieser Build-Aktion können Sie die Erstellung und Übertragung eines neuen Images automatisieren, wenn sich Ihre Quelle ändert. Diese Aktion basiert auf einem angegebenen Dockerfile-Speicherort und überträgt das Image. Diese Build-Aktion ist nicht mit der Amazon ECR-Quellaktion in identisch, die die Pipeline auslöst CodePipeline, wenn eine Änderung in Ihrem Amazon ECR-Quell-Repository erfolgt. Informationen zu dieser Aktion finden Sie unter. Referenz zur Amazon ECR-Quellaktion
Dies ist keine Quellaktion, die die Pipeline auslöst. Mit dieser Aktion wird ein Image erstellt und in Ihr Amazon ECR-Image-Repository übertragen.
Sie müssen bereits ein Amazon ECR-Repository erstellt und Ihrem Quellcode-Repository ein Dockerfile hinzugefügt haben, z. B. GitHub bevor Sie die Aktion zu Ihrer Pipeline hinzufügen.
Wichtig
Diese Aktion verwendet CodePipeline Managed CodeBuild Compute, um Befehle in einer Build-Umgebung auszuführen. Für die Ausführung der Befehlsaktion fallen separate Gebühren in an AWS CodeBuild.
Anmerkung
Diese Aktion ist nur für Pipelines vom Typ V2 verfügbar.
Themen
Aktionstyp
-
Kategorie:
Build -
Eigentümer:
AWS -
Anbieter:
ECRBuildAndPublish -
Version:
1
Konfigurationsparameter
- ECRRepositoryName
-
Erforderlich: Ja
Der Name des Amazon ECR-Repositorys, in das das Bild übertragen wird.
- DockerFilePath
-
Erforderlich: Nein
Der Speicherort des Dockerfiles, das zum Erstellen des Images verwendet wurde. Optional können Sie einen alternativen Dockerfile-Speicherort angeben, wenn er sich nicht auf der Stammebene befindet.
Anmerkung
Wenn kein Wert für angegeben
DockerFilePathist, wird standardmäßig die Stammebene des Quell-Repositorys verwendet. - ImageTags
-
Erforderlich: Nein
Die für das Bild verwendeten Tags. Sie können mehrere Tags als kommagetrennte Liste von Zeichenketten eingeben.
Anmerkung
Wenn kein Wert für
ImageTagsangegeben ist, wird standardmäßig der Wertlatestverwendet. - RegistryType
-
Erforderlich: Nein
Gibt an, ob das Repository öffentlich oder privat ist. Gültige Werte sind
private | public.Anmerkung
Wenn kein Wert für
RegistryTypeangegeben ist, wird standardmäßig der Wertprivateverwendet.
Input artifacts (Eingabeartefakte)
-
Anzahl der Artefakte:
1 -
Beschreibung: Das von der Quellaktion erzeugte Artefakt, das das Dockerfile enthält, das zum Erstellen des Images benötigt wird.
Ausgabeartefakte
-
Anzahl der Artefakte:
0
Ausgabevariablen
Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.
Weitere Informationen finden Sie unter Variablenreferenz.
- ECRImageDigestId
-
Der
sha256-Digest des Image-Manifests. - ECRRepositoryName
-
Der Name des Amazon ECR-Repositorys, in das das Bild übertragen wurde.
Berechtigungen für Servicerollen: Aktion ECRBuildAndPublish
Für die Unterstützung der ECRBuildAndPublish Aktion fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:
{ "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": "*" } ] }
Fügen Sie Ihrer Servicerolle außerdem die folgenden Berechtigungen hinzu, falls sie nicht bereits für die Commands Aktion hinzugefügt wurden, um CloudWatch Protokolle einzusehen.
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "resource_ARN" },
Anmerkung
Beschränken Sie die Berechtigungen auf die Ebene der Pipeline-Ressourcen, indem Sie die ressourcenbasierten Berechtigungen in der Richtlinie zur Servicerolle verwenden.
Weitere Informationen zu dieser Aktion finden Sie unter. ECRBuildAndPublishAktionsreferenz erstellen
Aktionsdeklaration
Weitere Informationen finden Sie auch unter
Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
-
Tutorial: Erstellen Sie ein Docker-Image und übertragen Sie es auf Amazon ECR mit CodePipeline (Typ V2)— Dieses Tutorial enthält ein Beispiel für eine Docker-Datei und Anweisungen zum Erstellen einer Pipeline, die Ihr Image bei einer Änderung an Ihrem Quell-Repository an ECR überträgt und dann auf Amazon ECS bereitstellt.