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.
. . .
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 AWS
ThirdParty
, 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
CodeStarSourceConnection
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 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 :
-
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
PollForSourceChanges
paramè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, voirActions à 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, voirRé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 larevisionValue
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.
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.