

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.

# Beispiel für mehrere Eingabequellen und Ausgabeartefakte
<a name="sample-multi-in-out"></a>

Sie können ein AWS CodeBuild Build-Projekt mit mehr als einer Eingabequelle und mehr als einem Satz von Ausgabeartefakten erstellen. Dieses Beispiel zeigt, wie Sie ein Build-Projekt mit folgenden Eigenschaften einrichten: 
+ Mehrere Quellen und Repositorys unterschiedlicher Typen
+ Veröffentlichung von Build-Artefakten für mehrere S3-Buckets in einem Build

 Im folgenden Beispiel erstellen Sie ein Build-Projekt und verwenden es, um einen Build auszuführen. Das Beispiel verwendet die buildspec-Datei des Build-Projekts, um zu demonstrieren, wie mehr als eine Quelle eingeschlossen und mehr als ein Satz Artefakte erstellt wird. 

Informationen zum Erstellen einer Pipeline, die mehrere Quelleingaben verwendet, um mehrere Ausgabeartefakte CodeBuild zu erzeugen, finden Sie unter[Beispiel für eine CodePipeline/CodeBuild Integration mit mehreren Eingabequellen und Ausgabeartefakten](sample-codepipeline.md#sample-pipeline-multi-input-output).

**Topics**
+ [Erstellen Sie ein Build-Projekt mit mehreren Eingaben und Ausgaben](sample-multi-in-out-create.md)
+ [Erstellen Sie ein Build-Projekt ohne Quelle](no-source.md)

# Erstellen Sie ein Build-Projekt mit mehreren Eingaben und Ausgaben
<a name="sample-multi-in-out-create"></a>

Gehen Sie wie folgt vor, um ein Build-Projekt mit mehreren Eingaben und Ausgaben zu erstellen.

**Um ein Build-Projekt mit mehreren Eingaben und Ausgaben zu erstellen**

1.  Lade deine Quellen in ein oder mehrere S3-Buckets, CodeCommit GitHub, GitHub Enterprise Server- oder Bitbucket-Repositorys hoch. 

1.  Wählen Sie die als primäre Quelle dienende Quelle. Dies ist die Quelle, in der nach Ihrer CodeBuild Buildspec-Datei gesucht und diese ausgeführt wird. 

1.  Erstellen Sie ein Build-Projekt. Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt in AWS CodeBuild](create-project.md). 

1.  Erstellen Sie Ihr Build-Projekt, führen Sie den Build aus und rufen Sie Informationen über den Build ab. 

1.  Wenn Sie das AWS CLI Build-Projekt mit erstellen, sieht die Eingabe des `create-project` Befehls im JSON-Format möglicherweise wie folgt aus: 

   ```
   {
     "name": "sample-project",
     "source": {
       "type": "S3",
       "location": "<bucket/sample.zip>"
     },
     "secondarySources": [
       {
         "type": "CODECOMMIT",
         "location": "https://git-codecommit.us-west-2.amazonaws.com/v1/repos/repo",
         "sourceIdentifier": "source1"
       },
       {
         "type": "GITHUB",
         "location": "https://github.com/awslabs/aws-codebuild-jenkins-plugin",
         "sourceIdentifier": "source2"
       }
     ],
     "secondaryArtifacts": [ss
       {
         "type": "S3",
         "location": "<output-bucket>",
         "artifactIdentifier": "artifact1"
       },
       {
         "type": "S3",
         "location": "<other-output-bucket>",
         "artifactIdentifier": "artifact2"
       }
     ],
     "environment": {
       "type": "LINUX_CONTAINER",
       "image": "aws/codebuild/standard:5.0",
       "computeType": "BUILD_GENERAL1_SMALL"
     },
     "serviceRole": "arn:aws:iam::account-ID:role/role-name",
     "encryptionKey": "arn:aws:kms:region-ID:account-ID:key/key-ID"
   }
   ```

 Die primäre Quelle ist im Attribut `source` definiert. Alle weiteren Quellen sind sekundäre Quellen und werden unter `secondarySources` aufgeführt. Alle sekundären Quellen werden in einem eigenen Verzeichnis installiert. Dieses Verzeichnis wird in der integrierten Umgebungsvariable `CODEBUILD_SRC_DIR_sourceIdentifer` gespeichert. Weitere Informationen finden Sie unter [Umgebungsvariablen in Build-Umgebungen](build-env-ref-env-vars.md). 

 Das Attribut `secondaryArtifacts` enthält eine Liste der Artefaktdefinitionen. Diese Artefakte verwenden den Block `secondary-artifacts` in der buildspec-Datei, der im Block `artifacts` verschachtelt ist. 

 Sekundäre Artefakte in der buildspec-Datei haben die gleiche Struktur wie Artefakte und werden durch die jeweiligen Artefaktbezeichner voneinander getrennt. 

**Anmerkung**  
 In der [CodeBuild API](https://docs.aws.amazon.com/codebuild/latest/APIReference/) ist der `artifactIdentifier` für ein sekundäres Artefakt ein zwingend erforderliches Attribut in `CreateProject` und `UpdateProject`. Es muss verwendet werden, um auf ein sekundäres Artefakt zu verweisen. 

 Mit der oben gezeigten Eingabe im JSON-Format ergibt sich eine buildspec-Datei wie die folgende: 

```
version: 0.2

phases:
  install:
    runtime-versions:
      java: openjdk11
  build:
    commands:
      - cd $CODEBUILD_SRC_DIR_source1
      - touch file1
      - cd $CODEBUILD_SRC_DIR_source2
      - touch file2

artifacts:
  files:
    - '**.*'
  secondary-artifacts:
    artifact1:
      base-directory: $CODEBUILD_SRC_DIR_source1
      files:
        - file1
    artifact2:
      base-directory: $CODEBUILD_SRC_DIR_source2
      files:
        - file2
```

 Sie können die Version der primären Quelle unter Verwendung der API mit dem Attribut `sourceVersion` in `StartBuild` überschreiben. Mit dem Attribut `secondarySourceVersionOverride` können Sie einzelne oder mehrere Versionen sekundärer Quellen überschreiben. 

 Die JSON-formatierte Eingabe für den `start-build` Befehl im könnte wie folgt aussehen: AWS CLI 

```
{
   "projectName": "sample-project",
   "secondarySourcesVersionOverride": [
      {
        "sourceIdentifier": "source1",
        "sourceVersion": "codecommit-branch"
      },
      {
        "sourceIdentifier": "source2",
        "sourceVersion": "github-branch"
      },
   ]
}
```

# Erstellen Sie ein Build-Projekt ohne Quelle
<a name="no-source"></a>

 Sie können ein CodeBuild Projekt konfigurieren, indem Sie bei der Konfiguration Ihrer **NO\$1SOURCE** Quelle den Quelltyp auswählen. Wenn Ihr Quelltyp **NO\$1SOURCE** ist, können Sie keine buildspec-Datei angeben, da Ihr Projekt keine Quelle hat. Stattdessen müssen Sie eine YAML-formatierte buildspec-Zeichenfolge im `buildspec`-Attribut der JSON-formatierten Eingabe für den `create-project`-CLI-Befehl angeben. Diese könnte wie folgt aussehen: 

```
{
  "name": "project-name",
  "source": {
    "type": "NO_SOURCE",
    "buildspec": "version: 0.2\n\nphases:\n  build:\n    commands:\n      - command"
   },
  "environment": {
    "type": "LINUX_CONTAINER",
    "image": "aws/codebuild/standard:5.0",
    "computeType": "BUILD_GENERAL1_SMALL",    
  },
  "serviceRole": "arn:aws:iam::account-ID:role/role-name",
  "encryptionKey": "arn:aws:kms:region-ID:account-ID:key/key-ID"
}
```

Weitere Informationen finden Sie unter [Erstellen eines Build-Projekts (AWS CLI)](create-project.md#create-project-cli).