AWS CodeBuild créer et tester une référence d'action - AWS CodePipeline

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.

AWS CodeBuild créer et tester une référence d'action

Vous permet d'exécuter des générations et des tests dans le cadre de votre pipeline. Lorsque vous exécutez une action de CodeBuild génération ou de test, les commandes spécifiées dans les spécifications de génération sont exécutées à l'intérieur d'un CodeBuild conteneur. Tous les artefacts spécifiés en tant qu'artefacts d'entrée pour une CodeBuild action sont disponibles dans le conteneur exécutant les commandes. CodeBuild peut fournir une action de compilation ou de test. Pour plus d’informations, consultez le AWS CodeBuild Guide de l’utilisateur .

Lorsque vous utilisez l' CodePipeline assistant de la console pour créer un projet de génération, le projet de CodeBuild génération indique que le fournisseur source est CodePipeline. Lorsque vous créez un projet de génération dans la CodeBuild console, vous ne pouvez pas le spécifier CodePipeline comme fournisseur de source, mais l'ajout de l'action de génération à votre pipeline ajuste la source dans la CodeBuild console. Pour plus d'informations, reportez-vous ProjectSourceà la section AWS CodeBuild APIRéférence.

Type d'action

  • Catégorie : Build ou Test

  • Propriétaire : AWS

  • Fournisseur : CodeBuild

  • Version : 1

Paramètres de configuration

ProjectName

Obligatoire : oui

ProjectNameest le nom du projet de construction dans CodeBuild.

PrimarySource

Obligatoire : Conditionnelle

La valeur du PrimarySource paramètre doit être le nom de l'un des artefacts d'entrée de l'action. CodeBuild recherche le fichier de spécification de construction et exécute les commandes de spécification de construction dans le répertoire qui contient la version décompressée de cet artefact.

Ce paramètre est obligatoire si plusieurs artefacts d'entrée sont spécifiés pour une CodeBuild action. Lorsqu'il n'y a qu'un seul artefact source pour l'action, l'artefact PrimarySource correspond par défaut à cet artefact.

BatchEnabled

Obligatoire : non

La valeur booléenne du BatchEnabled paramètre permet à l'action d'exécuter plusieurs builds au cours de la même exécution de build.

Lorsque cette option est activée, elle est disponible. CombineArtifacts

Pour des exemples de pipeline dans lesquels les builds par lots sont activés, voir CodePipeline Intégration avec CodeBuild et builds par lots.

CombineArtifacts

Obligatoire : non

La valeur booléenne du CombineArtifacts paramètre combine tous les artefacts de construction d'une génération par lots dans un seul fichier d'artefact pour l'action de génération.

Pour utiliser cette option, le BatchEnabled paramètre doit être activé.

EnvironmentVariables

Obligatoire : non

La valeur de ce paramètre est utilisée pour définir les variables d'environnement pour l' CodeBuild action dans votre pipeline. La valeur du EnvironmentVariables paramètre prend la forme d'un JSON tableau d'objets variables d'environnement. Consultez l'exemple de paramètre dans Déclaration d'action (exemple CodeBuild).

Chaque objet comporte trois parties, qui sont toutes des chaînes :

  • name : Nom ou clé de la variable d'environnement.

  • value : Valeur de la variable d'environnement. Lorsque vous utilisez le SECRETS_MANAGER type PARAMETER_STORE ou, cette valeur doit être le nom d'un paramètre que vous avez déjà stocké dans le magasin de paramètres de AWS Systems Manager ou d'un secret que vous avez déjà enregistré dans AWS Secrets Manager, respectivement.

    Note

    Nous déconseillons vivement l'utilisation de variables d'environnement pour stocker des valeurs sensibles, en particulier des AWS informations d'identification. Lorsque vous utilisez la CodeBuild console ou AWS CLI, les variables d'environnement sont affichées en texte brut. Pour les valeurs sensibles, nous vous recommandons d'utiliser plutôt le type SECRETS_MANAGER.

  • type : (facultatif) Type de la variable d'environnement. Les valeurs valides sont PARAMETER_STORE, SECRETS_MANAGER ou PLAINTEXT. Si rien spécifié, la valeur par défaut est PLAINTEXT.

Note

Lorsque vous entrez la configuration namevalue, et type pour vos variables d'environnement, en particulier si la variable d'environnement contient une syntaxe de variable de CodePipeline sortie, ne dépassez pas la limite de 1 000 caractères pour le champ de valeur de la configuration. Une erreur de validation est renvoyée lorsque cette limite est dépassée.

Pour plus d'informations, reportez-vous EnvironmentVariableà la section AWS CodeBuild API Référence. Pour un exemple CodeBuild d'action avec une variable d'environnement qui correspond au nom de la GitHub branche, consultezExemple : utilisation d'une BranchName variable avec des variables d' CodeBuild environnement.

Artefacts d'entrée

  • Nombre d'objets : 1 to 5

  • Description : CodeBuild recherche le fichier de spécification de construction et exécute les commandes de spécification de construction à partir du répertoire de l'artefact source principal. Lorsque plusieurs sources d'entrée sont spécifiées pour l' CodeBuild action, cet artefact doit être défini à l'aide du paramètre de configuration de l'PrimarySourceaction dans CodePipeline.

    Chaque artefact d'entrée est extrait dans son propre répertoire, dont les emplacements sont stockés dans des variables d'environnement. Le répertoire de l'artefact source principal est mis à disposition avec $CODEBUILD_SRC_DIR. Les répertoires de tous les autres artefacts d'entrée sont mis à disposition avec $CODEBUILD_SRC_DIR_yourInputArtifactName.

    Note

    L'artefact configuré dans votre CodeBuild projet devient l'artefact d'entrée utilisé par l' CodeBuild action dans votre pipeline.

Artefacts de sortie

  • Nombre d'objets : 0 to 5

  • Description : ils peuvent être utilisés pour rendre les artefacts définis dans le fichier de spécifications de CodeBuild construction disponibles pour les actions suivantes dans le pipeline. Lorsqu'un seul artefact de sortie est défini, cet artefact peut être défini directement dans la section artifacts du fichier de spécification de génération. Lorsque plusieurs artefacts en sortie sont spécifiés, tous les artefacts référencés doivent être définis en tant qu'artefacts secondaires dans le fichier de spécifications de génération. Les noms des artefacts de sortie CodePipeline doivent correspondre aux identificateurs des artefacts contenus dans le fichier de spécifications de construction.

    Note

    L'artefact configuré dans votre CodeBuild projet devient l'artefact CodePipeline d'entrée dans votre action de pipeline.

    Si le CombineArtifacts paramètre est sélectionné pour les builds par lots, l'emplacement des artefacts en sortie contient les artefacts combinés provenant de plusieurs builds exécutés lors de la même exécution.

Variables de sortie

Cette action produira en tant que variables toutes les variables d'environnement ayant été exportées dans le cadre de la génération. Pour plus de détails sur l'exportation de variables d'environnement, consultez EnvironmentVariablele AWS CodeBuild APIGuide.

Pour plus d'informations sur l'utilisation de variables d' CodeBuild environnement dans CodePipeline, consultez les exemples dansCodeBuild variables de sortie d'action. Pour obtenir la liste des variables d'environnement que vous pouvez utiliser CodeBuild, consultez la section Variables d'environnement dans les environnements de construction dans le Guide de AWS CodeBuild l'utilisateur.

Déclaration d'action (exemple CodeBuild)

YAML
Name: Build Actions: - Name: PackageExport ActionTypeId: Category: Build Owner: AWS Provider: CodeBuild Version: '1' RunOrder: 1 Configuration: BatchEnabled: 'true' CombineArtifacts: 'true' ProjectName: my-build-project PrimarySource: MyApplicationSource1 EnvironmentVariables: '[{"name":"TEST_VARIABLE","value":"TEST_VALUE","type":"PLAINTEXT"},{"name":"ParamStoreTest","value":"PARAMETER_NAME","type":"PARAMETER_STORE"}]' OutputArtifacts: - Name: MyPipeline-BuildArtifact InputArtifacts: - Name: MyApplicationSource1 - Name: MyApplicationSource2
JSON
{ "Name": "Build", "Actions": [ { "Name": "PackageExport", "ActionTypeId": { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1" }, "RunOrder": 1, "Configuration": { "BatchEnabled": "true", "CombineArtifacts": "true", "ProjectName": "my-build-project", "PrimarySource": "MyApplicationSource1", "EnvironmentVariables": "[{\"name\":\"TEST_VARIABLE\",\"value\":\"TEST_VALUE\",\"type\":\"PLAINTEXT\"},{\"name\":\"ParamStoreTest\",\"value\":\"PARAMETER_NAME\",\"type\":\"PARAMETER_STORE\"}]" }, "OutputArtifacts": [ { "Name": "MyPipeline-BuildArtifact" } ], "InputArtifacts": [ { "Name": "MyApplicationSource1" }, { "Name": "MyApplicationSource2" } ] } ] }

Les ressources connexes suivantes peuvent s'avérer utiles dans le cadre de l'utilisation de cette action.