Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Déclaration d'action

Mode de mise au point
Déclaration 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.

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.

Le niveau d'action d'un pipeline possède une structure de base qui inclut les paramètres et la syntaxe suivants. Pour plus d'informations, consultez l'ActionDeclarationobjet dans le guide de l'CodePipeline API.

L'exemple suivant montre le niveau d'action de la structure du pipeline en JSON et en YAML.

YAML
. . . stages: - name: Source actions: - name: Source actionTypeId: category: Source owner: AWS provider: S3 version: '1' runOrder: 1 configuration: PollForSourceChanges: 'false' S3Bucket: amzn-s3-demo-bucket S3ObjectKey: codedeploy_linux.zip outputArtifacts: - name: SourceArtifact inputArtifacts: [] region: us-west-2 namespace: SourceVariables - name: Build actions: - name: Build actionTypeId: category: Build owner: AWS provider: CodeBuild version: '1' runOrder: 1 configuration: EnvironmentVariables: >- [{"name":"ETag","value":"#{SourceVariables.ETag}","type":"PLAINTEXT"}] ProjectName: my-project outputArtifacts: - name: BuildArtifact inputArtifacts: - name: SourceArtifact region: us-west-2 namespace: BuildVariables runOrder: 1 configuration: CustomData: >- Here are the exported variables from the build action: S3 ETAG: #{BuildVariables.ETag} outputArtifacts: [] inputArtifacts: [] region: us-west-2
JSON
. . . "stages": [ { "name": "Source", "actions": [ { "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "PollForSourceChanges": "false", "S3Bucket": "amzn-s3-demo-bucket", "S3ObjectKey": "aws-codepipeline-s3-aws-codedeploy_linux.zip" }, "outputArtifacts": [ { "name": "SourceArtifact" } ], "inputArtifacts": [], "region": "us-west-2", "namespace": "SourceVariables" } ] }, { "name": "Build", "actions": [ { "name": "Build", "actionTypeId": { "category": "Build", "owner": "AWS", "provider": "CodeBuild", "version": "1" }, "runOrder": 1, "configuration": { "EnvironmentVariables": "[{\"name\":\"ETag\",\"value\":\"#{SourceVariables.ETag}\",\"type\":\"PLAINTEXT\"}]", "ProjectName": "my-build-project" }, "outputArtifacts": [ { "name": "BuildArtifact" } ], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-west-2", "namespace": "BuildVariables" } ] . . .
. . . stages: - name: Source actions: - name: Source actionTypeId: category: Source owner: AWS provider: S3 version: '1' runOrder: 1 configuration: PollForSourceChanges: 'false' S3Bucket: amzn-s3-demo-bucket S3ObjectKey: codedeploy_linux.zip outputArtifacts: - name: SourceArtifact inputArtifacts: [] region: us-west-2 namespace: SourceVariables - name: Build actions: - name: Build actionTypeId: category: Build owner: AWS provider: CodeBuild version: '1' runOrder: 1 configuration: EnvironmentVariables: >- [{"name":"ETag","value":"#{SourceVariables.ETag}","type":"PLAINTEXT"}] ProjectName: my-project outputArtifacts: - name: BuildArtifact inputArtifacts: - name: SourceArtifact region: us-west-2 namespace: BuildVariables runOrder: 1 configuration: CustomData: >- Here are the exported variables from the build action: S3 ETAG: #{BuildVariables.ETag} outputArtifacts: [] inputArtifacts: [] region: us-west-2

Pour obtenir la liste des exemples des détails de configuration correspondant au type de fournisseur, consultez Paramètres de configuration valides pour chaque type de fournisseur.

La structure de l'action impose les critères suivants :

  • Tous les noms des actions d'une étape doivent être uniques.

  • Une action source est requise pour chaque pipeline.

  • Les actions source qui n'utilisent pas de connexion peuvent être configurées pour détecter les modifications ou pour désactiver la détection des modifications. Voir Méthodes de détection des modifications.

  • Cela s'applique à toutes les actions, qu'elles se trouvent dans la même étape ou dans les étapes suivantes, mais l'artefact d'entrée ne doit pas nécessairement être l'action suivant immédiatement celle ayant fourni l'artefact de sortie. Les actions en parallèle peuvent déclarer différents lots d'artefacts de sortie, qui sont ensuite utilisés par différentes actions subséquentes.

  • Lorsque vous utilisez un compartiment Amazon S3 comme emplacement de déploiement, vous spécifiez également une clé d'objet. Une clé d'objet peut être un nom de fichier (objet) ou une combinaison d'un préfixe (chemin d'accès à un dossier) et d'un nom de fichier. Vous pouvez utiliser des variables pour spécifier le nom de l'emplacement que vous souhaitez que le pipeline utilise. Les actions de déploiement Amazon S3 prennent en charge l'utilisation des variables suivantes dans les clés d'objet Amazon S3.

    Utilisation de variables dans Amazon S3
    Variable Exemple d'entrée de console Sortie
    datetime js-application/{datetime}.zip Horodatage UTC dans ce format : <AAAA>-<MM>-JJ>_<HH>-<MM>-<SS>

    Exemple :

    js-application/2019-01-10_07-39-57.zip

    uuid js-application/{uuid}.zip L'UUID est un identifiant unique international qui est garanti différent de n'importe quel autre identifiant. L'UUID est au format suivant (tous les chiffres au format hexadécimal) : <8 chiffres>-<4 chiffres>-4 chiffres>-<4 chiffres>-<12 chiffres>

    Exemple :

    js-application/54a60075-b96a-4bf3-9013-db3a9EXAMPLE.zip

name

Le nom de l'action.

region

Pour les actions où le fournisseur est un Service AWS, le Région AWS de la ressource.

Les actions interrégionales utilisent le Region champ pour indiquer l' Région AWS endroit où les actions doivent être créées. Les AWS ressources créées pour cette action doivent être créées dans la même région que celle indiquée region sur le terrain. Vous ne pouvez pas créer d'actions inter-régions pour les types d'action suivants :

  • Actions source

  • Actions par des fournisseurs tiers

  • Actions par des fournisseurs personnalisés

roleArn

ARN du rôle de service IAM qui effectue l'action déclarée. Cela est supposé par le biais du ROLearn spécifié au niveau du pipeline.

namespace

Les actions peuvent être configurées avec des variables. Vous utilisez le champ namespace pour définir l'espace de noms et les informations de variable pour les variables d'exécution. Pour plus d'informations sur les variables d'exécution et les variables de sortie d'action, consultez Référence aux variables.

Note

Pour Amazon ECR, Amazon S3 ou les CodeCommit sources, vous pouvez également créer une substitution de source en utilisant l'entrée input transform pour utiliser l'événement revisionValue in EventBridge pour votre pipeline, dérivé de la revisionValue variable d'événement source pour votre clé d'objet, votre commit ou votre identifiant d'image. Pour plus d'informations, consultez l'étape facultative de saisie de la transformation d'entrée incluse dans les procédures Actions et ressources relatives aux sources Amazon ECR EventBridge décrites sousConnexion aux actions source Amazon S3 avec une source activée pour les événements, ouCodeCommit actions à la source et EventBridge.

actionTypeId

L'ID du type d'action est identifié comme une combinaison des quatre champs suivants.

category

Type d'action, ou d'étape, dans le pipeline, telle qu'une action source. Chaque type d'action possède un ensemble spécifique de fournisseurs d'actions valides. Pour obtenir la liste des fournisseurs valides par type d'action, consultez leRéférence sur la structure des actions.

Voici les actionTypeId catégories valides (types d'action) pour CodePipeline :

  • Source

  • Build

  • Approval

  • Deploy

  • Test

  • Invoke

  • Compute

owner

Pour tous les types d'actions actuellement pris en charge, la seule chaîne propriétaire valide est AWSThirdParty, ouCustom. Pour connaître la chaîne propriétaire valide pour une action spécifique, consultez leRéférence sur la structure des actions.

Pour plus d’informations, consultez la page Référence de l’API CodePipeline .

version

Version de l'action.

provider

Le fournisseur d'actions, tel que CodeBuild.

  • Les types de fournisseur valides pour une catégorie d'action dépendent de la catégorie. Par exemple, pour une catégorie d'action source, le type de fournisseur valide est S3 CodeStarSourceConnectionCodeCommit, ouAmazon ECR. Cet exemple illustre la structure pour une action source avec un fournisseur S3 :

    "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3"},

InputArtifacts

Ce champ contient la structure de l'artefact d'entrée, si elle est prise en charge pour la catégorie d'action. L'artefact d'entrée d'une action doit correspondre exactement à l'artefact de sortie déclaré lors d'une action précédente. Par exemple, si une action précédente comprend la déclaration suivante :

"outputArtifacts": [ { "MyApp" } ],

et il n'y a pas d'autres artefacts de sortie, alors l'artefact d'entrée d'une action suivante doit être :

"inputArtifacts": [ { "MyApp" } ],

Par exemple, une action source ne peut pas contenir d'artefacts d'entrée car il s'agit de la première action du pipeline. Cependant, une action source comportera toujours des artefacts de sortie qui seront traités par l'action suivante. Les artefacts de sortie d'une action source sont les fichiers d'application du référentiel source, compressés et fournis via le bucket d'artefacts, qui sont traités par l'action suivante, telle qu'une CodeBuild action qui agit sur les fichiers de l'application à l'aide de commandes de génération.

À titre d'exemple d'actions qui ne peuvent pas avoir d'artefacts de sortie, les actions de déploiement n'ont pas d'artefacts de sortie car ces actions sont généralement les dernières actions d'un pipeline.

name

Le nom de l'artefact pour les artefacts d'entrée de l'action.

outputArtifacts

Les noms des artefacts de sortie doivent être uniques dans un pipeline. Par exemple, un pipeline peut inclure une action dotée d'un artefact de sortie nommé "MyApp" et une autre action dotée d'un artefact de sortie nommé "MyBuiltApp". Cependant, un pipeline ne peut pas contenir deux actions contenant toutes deux un artefact de sortie nommé "MyApp".

Ce champ contient la structure de l'artefact en sortie, si elle est prise en charge pour la catégorie d'action. L'artefact de sortie d'une action doit correspondre exactement à l'artefact de sortie déclaré lors d'une action précédente. Par exemple, si une action précédente comprend la déclaration suivante :

"outputArtifacts": [ { "MyApp" } ],

et il n'y a pas d'autres artefacts de sortie, alors l'artefact d'entrée d'une action suivante doit être :

"inputArtifacts": [ { "MyApp" } ],

Par exemple, une action source ne peut pas contenir d'artefacts d'entrée car il s'agit de la première action du pipeline. Cependant, une action source comportera toujours des artefacts de sortie qui seront traités par l'action suivante. Les artefacts de sortie d'une action source sont les fichiers d'application du référentiel source, compressés et fournis via le bucket d'artefacts, qui sont traités par l'action suivante, telle qu'une CodeBuild action qui agit sur les fichiers de l'application à l'aide de commandes de génération.

À titre d'exemple d'actions qui ne peuvent pas avoir d'artefacts de sortie, les actions de déploiement n'ont pas d'artefacts de sortie car ces actions sont généralement les dernières actions d'un pipeline.

name

Le nom de l'artefact pour les artefacts de sortie de l'action.

configuration(par le fournisseur d'actions)

La configuration de l'action contient des détails et des paramètres adaptés au type de fournisseur. Dans la section ci-dessous, les exemples de paramètres de configuration d'action sont spécifiques à l'action source S3.

La configuration de l'action et les limites des artefacts d'entrée/sortie peuvent varier selon le fournisseur d'actions. Pour une liste d'exemples de configuration d'actions par fournisseur d'actions, voir Référence sur la structure des actions et le tableau dansParamètres de configuration valides pour chaque type de fournisseur. Le tableau fournit un lien vers la référence d'action pour chaque type de fournisseur, qui répertorie en détail les paramètres de configuration de chaque action. Pour un tableau présentant les limites d'artefacts d'entrée et de sortie pour chaque fournisseur d'actions, voirArtefacts d'entrée et de sortie valides pour chaque type d'action.

Les considérations suivantes s'appliquent à l'utilisation des actions :

Note

Les actions source CodeCommit et S3 nécessitent soit une ressource de détection des modifications configurée (une EventBridge règle), soit l'option permettant d'interroger le référentiel pour connaître les modifications de source. Pour les pipelines dotés d'une action source Bitbucket ou GitHub Enterprise Server, il n'est pas nécessaire de configurer un webhook ou d'effectuer un sondage par défaut. GitHub L'action Connexions gère pour vous la détection des modifications.

runOrder

Nombre entier positif qui indique l'ordre d'exécution de l'action au cours de l'étape. Les actions parallèles de l'étape sont indiquées comme ayant le même entier. Par exemple, deux actions avec un ordre d'exécution de deux s'exécuteront en parallèle après l'exécution de la première action de la phase.

La valeur par défaut runOrder pour une action est 1. La valeur doit être un nombre entier positif (nombre naturel). Vous ne pouvez pas utiliser des fractions, des nombres décimaux, négatifs ou zéro. Pour spécifier une séquence d'actions en série, utilisez le plus petit nombre pour la première action et les plus grands nombres pour chacune des autres actions de la séquence. Pour spécifier des actions parallèles, utilisez le même nombre entier pour chaque action que vous souhaitez exécuter en parallèle. Dans la console, vous pouvez définir une séquence en série pour une action en choisissant Ajouter un groupe d'actions au niveau de l'étape où vous souhaitez qu'elle s'exécute, ou vous pouvez spécifier une séquence parallèle en choisissant Ajouter une action. Le groupe d'actions fait référence à un ordre d'exécution d'une ou de plusieurs actions au même niveau.

Par exemple, si vous souhaitez que trois actions s'exécutent en séquence dans une étape, vous devez attribuer à la première action runOrder la valeur 1, à la seconde action runOrder la valeur 2 et à la troisième runOrder la valeur 3. Toutefois, si vous souhaitez que les deuxième et troisième actions s'exécutent en parallèle, vous devez attribuer à la première action la runOrder valeur 1 et aux deuxième et troisième actions runOrder la valeur 2.

Note

Les actions en série n'ont pas besoin d'être numérotées dans un ordre strict. Par exemple, si vous avez trois actions dans une séquence et que vous décidez de supprimer la seconde action, vous n'avez pas besoin de réordonner la runOrder valeur de la troisième action. Comme la valeur runOrder de cette action (3) est supérieure à la valeur runOrder de la première action (1), elle s'exécute en série après la première action dans cette étape.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.