Créez un projet de construction avec plusieurs entrées et sorties - AWS CodeBuild

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Créez un projet de construction avec plusieurs entrées et sorties

Utilisez la procédure suivante pour créer un projet de construction avec plusieurs entrées et sorties.

Pour créer un projet de construction avec plusieurs entrées et sorties
  1. Téléchargez vos sources vers un ou plusieurs buckets S3, CodeCommit GitHub, GitHub Enterprise Server ou référentiels Bitbucket.

  2. Choisissez quelle source est la source principale. Il s'agit de la source dans laquelle vous CodeBuild recherchez et exécutez votre fichier buildspec.

  3. Créez un projet de génération. Pour de plus amples informations, veuillez consulter Créez un projet de construction dans AWS CodeBuild.

  4. Créez votre projet de build, exécutez le build et obtenez des informations sur le build.

  5. Si vous utilisez le AWS CLI pour créer le projet de construction, l'entrée JSON formatée de la create-project commande peut ressembler à ce qui suit :

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

Votre source principale est définie sous l'attribut source. Toutes les autres sources sont appelées « sources secondaires » et apparaissent sous secondarySources. Toutes les sources secondaires sont installées dans leur propre répertoire. Ce répertoire est stocké dans la variable d'environnement intégrée CODEBUILD_SRC_DIR_sourceIdentifer. Pour de plus amples informations, veuillez consulter Variables d'environnement dans les environnements de génération.

L'attribut secondaryArtifacts contient une liste de définitions d'artefacts. Ces artefacts utilisent le bloc secondary-artifacts du fichier buildspec qui est imbriqué dans le bloc artifacts.

Les artefacts secondaires du fichier buildspec ont la même structure que tous les artefacts et sont séparés par leur identifiant d'artefact.

Note

Dans le CodeBuild API, le artifactIdentifier sur un artefact secondaire est un attribut obligatoire dans CreateProject etUpdateProject. Il doit être utilisé pour référencer un artefact secondaire.

En utilisant l'entrée JSON formatée précédente, le fichier buildspec du projet peut ressembler à ceci :

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

Vous pouvez remplacer la version de la source principale à l'aide de l'sourceVersionattribut API with inStartBuild. Pour substituer une ou plusieurs versions de source secondaire, utilisez l'attribut secondarySourceVersionOverride.

L'entrée au JSON format -formatée de la start-build commande dans le AWS CLI peut ressembler à ceci :

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