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
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
In diesem Beispiel erstellen Sie ein Build-Projekt und verwenden es zum Ausführen eines Builds. 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.
-
Laden Sie Ihre Quellen in ein oder mehrere S3-Buckets hoch, CodeCommit GitHub, GitHub Enterprise Server oder Bitbucket-Repositorys.
-
Wählen Sie die als primäre Quelle dienende Quelle. Dies ist die Quelle, in der nach Ihrer buildspec-Datei CodeBuild sucht und diese ausführt.
-
Erstellen Sie ein Build-Projekt. Weitere Informationen finden Sie unter Erstellen eines Build-Projekts in AWS CodeBuild.
-
Erstellen Sie Ihr Build-Projekt, führen Sie den Build aus und erhalten Sie Informationen über den Build.
-
Wenn Sie die verwenden, AWS CLI um das Build-Projekt zu erstellen, könnte die JSON-formatierte Eingabe für den
create-project
Befehl wie folgt aussehen:{ "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_
gespeichert. Weitere Informationen finden Sie unter Umgebungsvariablen in Build-Umgebungen. sourceIdentifer
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 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 in der AWS CLI könnte wie folgt aussehen:
{ "projectName": "sample-project", "secondarySourcesVersionOverride": [ { "sourceIdentifier": "source1", "sourceVersion": "codecommit-branch" }, { "sourceIdentifier": "source2", "sourceVersion": "github-branch" }, ] }
Beispiel für ein Projekt ohne Quelle
Sie können ein CodeBuild Projekt konfigurieren, indem Sie bei der Konfiguration Ihrer Quelle den NO_SOURCE
Quelltyp auswählen. Wenn Ihr Quelltyp NO_SOURCE
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).
Informationen zum Erstellen einer Pipeline, die mehrere Quelleingaben verwendet, um mehrere Ausgabeartefakte CodeBuild zu erstellen, finden Sie unter AWS CodePipeline -Integration mit CodeBuild und mehreren Eingabequellen und Ausgabeartefakten – Beispiel .