View a markdown version of this page

ECRBuildAndPublishAktionsreferenz erstellen - AWS CodePipeline

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.

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 DockerFilePath ist, 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 ImageTags angegeben ist, wird standardmäßig der Wert latest verwendet.

RegistryType

Erforderlich: Nein

Gibt an, ob das Repository öffentlich oder privat ist. Gültige Werte sind private | public.

Anmerkung

Wenn kein Wert für RegistryType angegeben ist, wird standardmäßig der Wert private verwendet.

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

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" },

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.