

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.

# `ECRBuildAndPublish`Aktionsreferenz erstellen
<a name="action-reference-ECRBuildAndPublish"></a>

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](action-reference-ECR.md)

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.

**Topics**
+ [Aktionstyp](#action-reference-ECRBuildAndPublish-type)
+ [Konfigurationsparameter](#action-reference-ECRBuildAndPublish-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-ECRBuildAndPublish-input)
+ [Ausgabeartefakte](#action-reference-ECRBuildAndPublish-output)
+ [Ausgabevariablen](#action-reference-ECRBuildAndPublish-output-variables)
+ [Berechtigungen für Servicerollen: Aktion `ECRBuildAndPublish`](#edit-role-ECRBuildAndPublish)
+ [Aktionsdeklaration](#action-reference-ECRBuildAndPublish-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-ECRBuildAndPublish-links)

## Aktionstyp
<a name="action-reference-ECRBuildAndPublish-type"></a>
+ Kategorie: `Build`
+ Eigentümer: `AWS`
+ Anbieter: `ECRBuildAndPublish`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-ECRBuildAndPublish-config"></a>

**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.  
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.  
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`.  
Wenn kein Wert für `RegistryType` angegeben ist, wird standardmäßig der Wert `private` verwendet.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-ECRBuildAndPublish-input"></a>
+ **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
<a name="action-reference-ECRBuildAndPublish-output"></a>
+ **Anzahl der Artefakte: ** `0` 

## Ausgabevariablen
<a name="action-reference-ECRBuildAndPublish-output-variables"></a>

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](reference-variables.md).

**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`
<a name="edit-role-ECRBuildAndPublish"></a>

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. [`ECRBuildAndPublish`Aktionsreferenz erstellen](#action-reference-ECRBuildAndPublish)

## Aktionsdeklaration
<a name="action-reference-ECRBuildAndPublish-example"></a>

------
#### [ 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"
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-ECRBuildAndPublish-links"></a>

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)](tutorials-ecr-build-publish.md)— 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.