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.
Déclaration d'action
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 CodePipeline l'API.
L'exemple suivant montre le niveau d'action de la structure du pipeline à la fois en JSON et en YAML.
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 à la source est requise pour chaque pipeline.
-
Les actions de 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 lieu 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 Output 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-Db3a9 EXAMPLE.zip
name
Le nom de l'action.
region
Pour les actions où le fournisseur est un Service AWS, le Région AWS nom de la ressource.
Cross-Region les actions 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 prévue 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 qui est spécifié au niveau du pipeline.
espace de nom
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 des variables.
Note
Pour Amazon ECR, Amazon S3 ou les CodeCommit sources, vous pouvez également créer un remplacement de source à l'aide d'une entrée de transformation en entrée EventBridge pour utiliser l'revisionValueentrée de votre événement de pipeline, où le revisionValue est dérivé de la variable d'événement source pour votre clé d'objet, votre commit ou votre ID d'image. Pour plus d'informations, consultez l'étape facultative pour la saisie de la transformation d'entrée incluse dans les procédures sous Actions et ressources relatives aux sources Amazon ECR EventBridgeConnexion aux actions de source Amazon S3 avec une source activée pour les événements, ouCodeCommit actions à la source et EventBridge.
action TypeId
L'ID du type d'action est identifié comme une combinaison des quatre champs suivants.
category
Type d'action, ou étape, du 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'actions) 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 Référence des API CodePipeline .
version
Version de l'action.
provider
Le fournisseur de l'action, 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, un type de fournisseur valide est
S3CodeStarSourceConnection,CodeCommit, ouAmazon ECR. Cet exemple illustre la structure pour une action source avec un fournisseurS3:"actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3"},
InputArtifacts
Ce champ contient la structure d'artefact en 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 comporter d'artefacts d'entrée car il s'agit de la première action du pipeline. Cependant, une action source contiendra toujours des artefacts de sortie qui sont 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 compartiment d'artefacts, qui sont traités par l'action suivante, telle qu'une CodeBuild action agissant sur les fichiers de l'application à l'aide de commandes de génération.
À titre d'exemple d'actions qui ne peuvent pas comporter d'artefacts de sortie, les actions de déploiement ne comportent pas d'artefacts de sortie car il s'agit généralement de la dernière action d'un pipeline.
name
Le nom de l'artefact pour les artefacts d'entrée de l'action.
Artefacts de sortie
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 comporter d'artefacts d'entrée car il s'agit de la première action du pipeline. Cependant, une action source contiendra toujours des artefacts de sortie qui sont 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 compartiment d'artefacts, qui sont traités par l'action suivante, telle qu'une CodeBuild action agissant sur les fichiers de l'application à l'aide de commandes de génération.
À titre d'exemple d'actions qui ne peuvent pas comporter d'artefacts de sortie, les actions de déploiement ne comportent pas d'artefacts de sortie car il s'agit généralement de la dernière action d'un pipeline.
name
Le nom de l'artefact pour les artefacts de sortie de l'action.
configuration (par fournisseur d'actions)
La configuration des actions 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 des actions et les limites d' input/output artefacts peuvent varier en fonction du fournisseur d'actions. Pour obtenir une liste d'exemples de configuration d'actions par fournisseur d'actions, consultez 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 des actions 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 en entrée et en sortie pour chaque fournisseur d'actions, consultezArtefacts d'entrée et de sortie valides pour chaque type d'action.
Les considérations suivantes s'appliquent à l'utilisation d'actions :
-
Les actions source n'ont pas d'artefacts d'entrée et les actions de déploiement n'ont pas d'artefacts de sortie.
-
Pour les fournisseurs d'actions source qui n'utilisent pas de connexion, tels que S3, vous devez utiliser le
PollForSourceChangesparamètre pour spécifier si vous souhaitez que votre pipeline démarre automatiquement lorsqu'une modification est détectée. Consultez Réglages valides pour le PollForSourceChanges paramètre. -
Pour configurer la détection automatique des modifications afin de démarrer votre pipeline ou pour désactiver la détection des modifications, consultezActions à la source et méthodes de détection des modifications.
-
Pour configurer des déclencheurs avec filtrage, utilisez l'action source pour les connexions, puis consultezAutomatisez le démarrage des pipelines en utilisant des déclencheurs et des filtres.
-
Pour les variables de sortie pour chaque action, consultezRéférence des variables.
Note
Pour Amazon ECR, Amazon S3 ou les CodeCommit sources, vous pouvez également créer un remplacement de source à l'aide d'une entrée de transformation en entrée EventBridge pour utiliser l'
revisionValueentrée de votre événement de pipeline, où lerevisionValueest dérivé de la variable d'événement source pour votre clé d'objet, votre commit ou votre ID d'image. Pour plus d'informations, consultez l'étape facultative pour la saisie de la transformation d'entrée incluse dans les procédures sous Actions et ressources relatives aux sources Amazon ECR EventBridgeConnexion aux actions de source Amazon S3 avec une source activée pour les événements, ouCodeCommit actions à la source et EventBridge.Important
Les sondages seront désactivés pour les pipelines qui sont inactifs pendant plus de 30 jours. Pour plus d'informations, consultez la section « sondage » DisabledAt dans la référence sur la structure du pipeline. Pour connaître les étapes à suivre pour migrer votre pipeline de la détection des modifications par sondage vers la détection des modifications basée sur les événements, consultez la section Méthodes de détection des modifications.
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'utilisation de l'option permettant d'interroger le référentiel pour détecter les modifications apportées à la source. Pour les pipelines comportant une action source Bitbucket ou GitHub Enterprise Server, il n'est pas nécessaire de configurer un webhook ou de lancer un sondage par défaut. GitHub L'action Connections gère la détection des modifications pour vous.
Ordre d'exécution
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 affichées comme ayant le même entier. Par exemple, deux actions avec un ordre d'exécution de deux seront exécutées en parallèle après 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 spécifier 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 à l'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
La numérotation des actions en série ne doit pas nécessairement être 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.