Cette documentation concerne AWS CLI uniquement la version 1 du. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.
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 exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide du AWS Command Line Interface with CodePipeline.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.
Rubriques
Actions
L'exemple de code suivant montre comment utiliseracknowledge-job
.
- AWS CLI
-
Pour récupérer des informations sur une tâche spécifiée
Cet exemple renvoie des informations sur une tâche spécifiée, y compris le statut de cette tâche s'il existe. Ceci n'est utilisé que pour les travailleurs et les actions personnalisées. Pour déterminer la valeur de nonce et l'ID de tâche, utilisez aws poll-for-jobs codepipeline.
Commande :
aws codepipeline acknowledge-job --job-id
f4f4ff82-2d11-EXAMPLE
--nonce3
Sortie :
{ "status": "InProgress" }
-
Pour plus de détails sur l'API, reportez-vous AcknowledgeJob
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercreate-custom-action-type
.
- AWS CLI
-
Pour créer une action personnalisée
Cet exemple crée une action personnalisée pour AWS CodePipeline utiliser un fichier JSON déjà créé (ici nommé MyCustomAction .json) qui contient la structure de l'action personnalisée. Pour plus d'informations sur les conditions requises pour créer une action personnalisée, notamment sur la structure du fichier, consultez le guide de AWS CodePipeline l'utilisateur.
aws codepipeline create-custom-action-type --cli-input-json
file://MyCustomAction.json
Contenu du fichier JSON
MyCustomAction.json
:{ "category": "Build", "provider": "MyJenkinsProviderName", "version": "1", "settings": { "entityUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/", "executionUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/lastSuccessfulBuild/{ExternalExecutionId}/" }, "configurationProperties": [ { "name": "MyJenkinsExampleBuildProject", "required": true, "key": true, "secret": false, "queryable": false, "description": "The name of the build project must be provided when this action is added to the pipeline.", "type": "String" } ], "inputArtifactDetails": { "maximumCount": 1, "minimumCount": 0 }, "outputArtifactDetails": { "maximumCount": 1, "minimumCount": 0 } }
Cette commande renvoie la structure de l'action personnalisée.
-
Pour plus de détails sur l'API, reportez-vous CreateCustomActionType
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercreate-pipeline
.
- AWS CLI
-
Pour créer un pipeline
Cet exemple crée un pipeline en AWS CodePipeline utilisant un fichier JSON déjà créé (ici nommé MySecondPipeline .json) qui contient la structure du pipeline. Pour plus d'informations sur les exigences relatives à la création d'un pipeline, notamment sur la structure du fichier, consultez le guide de AWS CodePipeline l'utilisateur.
Commande :
aws codepipeline create-pipeline --cli-input-json
file://MySecondPipeline.json
Exemple de contenu d'un fichier JSON :
{ "pipeline": { "roleArn": "arn:aws:iam::111111111111:role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "awscodepipeline-demo-bucket", "S3ObjectKey": "aws-codepipeline-s3-aws-codedeploy_linux.zip" }, "runOrder": 1 } ] }, { "name": "Beta", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "CodePipelineDemoFleet", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-1-11EXAMPLE11" }, "name": "MySecondPipeline", "version": 1 } }
Sortie :
This command returns the structure of the pipeline.
-
Pour plus de détails sur l'API, reportez-vous CreatePipeline
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-custom-action-type
.
- AWS CLI
-
Pour supprimer une action personnalisée
Cet exemple supprime une action personnalisée en AWS CodePipeline utilisant un fichier JSON déjà créé (ici nommé DeleteMyCustomAction .json) qui contient le type d'action, le nom du fournisseur et le numéro de version de l'action à supprimer. Utilisez la list-action-types commande pour afficher les valeurs correctes pour la catégorie, la version et le fournisseur.
Commande :
aws codepipeline delete-custom-action-type --cli-input-json
file://DeleteMyCustomAction.json
Exemple de contenu d'un fichier JSON :
{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }
Sortie :
None.
-
Pour plus de détails sur l'API, reportez-vous DeleteCustomActionType
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-pipeline
.
- AWS CLI
-
Pour supprimer un pipeline
Cet exemple supprime un pipeline nommé MySecondPipeline from AWS CodePipeline. Utilisez la commande list-pipelines pour afficher la liste des pipelines associés à votre AWS compte.
Commande :
aws codepipeline delete-pipeline --name
MySecondPipeline
Sortie :
None.
-
Pour plus de détails sur l'API, reportez-vous DeletePipeline
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-webhook
.
- AWS CLI
-
Pour supprimer un webhook
L'
delete-webhook
exemple suivant supprime un webhook pour une action source de GitHub version 1. Vous devez utiliser laderegister-webhook-with-third-party
commande pour désenregistrer le webhook avant de le supprimer.aws codepipeline delete-webhook \ --name
my-webhook
Cette commande ne produit aucun résultat.
Pour plus d'informations, voir Supprimer le webhook de votre GitHub source dans le guide de l'AWS CodePipeline utilisateur.
-
Pour plus de détails sur l'API, reportez-vous DeleteWebhook
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserderegister-webhook-with-third-party
.
- AWS CLI
-
Pour désenregistrer un webhook
L'
deregister-webhook-with-third-party
exemple suivant supprime un webhook pour une action source de GitHub version 1. Vous devez annuler l'enregistrement du webhook avant de supprimer ce dernier.aws codepipeline deregister-webhook-with-third-party \ --webhook-name
my-webhook
Cette commande ne produit aucun résultat.
Pour plus d'informations, voir Supprimer le webhook de votre GitHub source dans le guide de l'AWS CodePipeline utilisateur.
-
Pour plus de détails sur l'API, reportez-vous DeregisterWebhookWithThirdParty
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdisable-stage-transition
.
- AWS CLI
-
Pour désactiver une transition vers une étape d'un pipeline
Cet exemple désactive les transitions vers la phase bêta du MyFirstPipeline pipeline dans AWS CodePipeline.
Commande :
aws codepipeline disable-stage-transition --pipeline-name
MyFirstPipeline
--stage-nameBeta
--transition-typeInbound
Sortie :
None.
-
Pour plus de détails sur l'API, reportez-vous DisableStageTransition
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserenable-stage-transition
.
- AWS CLI
-
Pour permettre la transition vers une étape d'un pipeline
Cet exemple permet de passer à la phase bêta du MyFirstPipeline pipeline dans AWS CodePipeline.
Commande :
aws codepipeline enable-stage-transition --pipeline-name
MyFirstPipeline
--stage-nameBeta
--transition-typeInbound
Sortie :
None.
-
Pour plus de détails sur l'API, reportez-vous EnableStageTransition
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-job-details
.
- AWS CLI
-
Pour obtenir les détails d'une offre d'emploi
Cet exemple renvoie les détails d'une tâche dont l'ID est représenté par F4F4FF82-2D11-Example. Cette commande est uniquement utilisée pour les actions personnalisées. Lorsque cette commande est appelée, elle AWS CodePipeline renvoie des informations d'identification temporaires pour le compartiment Amazon S3 utilisé pour stocker les artefacts du pipeline, si nécessaire pour l'action personnalisée. Cette commande renverra également toutes les valeurs secrètes définies pour l'action, le cas échéant.
Commande :
aws codepipeline get-job-details --job-id
f4f4ff82-2d11-EXAMPLE
Sortie :
{ "jobDetails": { "accountId": "111111111111", "data": { "actionConfiguration": { "__type": "ActionConfiguration", "configuration": { "ProjectName": "MyJenkinsExampleTestProject" } }, "actionTypeId": { "__type": "ActionTypeId", "category": "Test", "owner": "Custom", "provider": "MyJenkinsProviderName", "version": "1" }, "artifactCredentials": { "__type": "AWSSessionCredentials", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "secretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "sessionToken": "fICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE=" }, "inputArtifacts": [ { "__type": "Artifact", "location": { "s3Location": { "bucketName": "codepipeline-us-east-1-11EXAMPLE11", "objectKey": "MySecondPipeline/MyAppBuild/EXAMPLE" }, "type": "S3" }, "name": "MyAppBuild" } ], "outputArtifacts": [], "pipelineContext": { "__type": "PipelineContext", "action": { "name": "MyJenkinsTest-Action" }, "pipelineName": "MySecondPipeline", "stage": { "name": "Testing" } } }, "id": "f4f4ff82-2d11-EXAMPLE" } }
-
Pour plus de détails sur l'API, reportez-vous GetJobDetails
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-pipeline-state
.
- AWS CLI
-
Pour obtenir des informations sur l'état d'un pipeline
Cet exemple renvoie l'état le plus récent d'un pipeline nommé MyFirstPipeline.
Commande :
aws codepipeline get-pipeline-state --name
MyFirstPipeline
Sortie :
{ "created": 1446137312.204, "pipelineName": "MyFirstPipeline", "pipelineVersion": 1, "stageStates": [ { "actionStates": [ { "actionName": "Source", "entityUrl": "https://console.aws.amazon.com/s3/home?#", "latestExecution": { "lastStatusChange": 1446137358.328, "status": "Succeeded" } } ], "stageName": "Source" }, { "actionStates": [ { "actionName": "CodePipelineDemoFleet", "entityUrl": "https://console.aws.amazon.com/codedeploy/home?#/applications/CodePipelineDemoApplication/deployment-groups/CodePipelineDemoFleet", "latestExecution": { "externalExecutionId": "d-EXAMPLE", "externalExecutionUrl": "https://console.aws.amazon.com/codedeploy/home?#/deployments/d-EXAMPLE", "lastStatusChange": 1446137493.131, "status": "Succeeded", "summary": "Deployment Succeeded" } } ], "inboundTransitionState": { "enabled": true }, "stageName": "Beta" } ], "updated": 1446137312.204 }
-
Pour plus de détails sur l'API, reportez-vous GetPipelineState
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-pipeline
.
- AWS CLI
-
Pour afficher la structure d'un pipeline
Cet exemple renvoie la structure d'un pipeline nommé MyFirstPipeline.
Commande :
aws codepipeline get-pipeline --name
MyFirstPipeline
Sortie :
{ "pipeline": { "roleArn": "arn:aws:iam::111111111111:role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "awscodepipeline-demo-bucket", "S3ObjectKey": "aws-codepipeline-s3-aws-codedeploy_linux.zip" }, "runOrder": 1 } ] }, { "name": "Beta", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "CodePipelineDemoFleet", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-1-11EXAMPLE11" }, "name": "MyFirstPipeline", "version": 1 } }
-
Pour plus de détails sur l'API, reportez-vous GetPipeline
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-action-executions
.
- AWS CLI
-
Pour répertorier les exécutions d'actions
L'
list-action-executions
exemple suivant affiche les détails de l'exécution d'une action pour un pipeline, tels que l'ID d'exécution de l'action, les artefacts d'entrée, les artefacts de sortie, le résultat de l'exécution et le statut.aws codepipeline list-action-executions \ --pipeline-name
myPipeline
Sortie :
{ "actionExecutionDetails": [ { "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", "actionExecutionId": "EXAMPLE4-2ee8-4853-bd6a-111111158148", "pipelineVersion": 12, "stageName": "Deploy", "actionName": "Deploy", "startTime": 1598572628.6, "lastUpdateTime": 1598572661.255, "status": "Succeeded", "input": { "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "CodeDeploy", "version": "1" }, "configuration": { "ApplicationName": "my-application", "DeploymentGroupName": "my-deployment-group" }, "resolvedConfiguration": { "ApplicationName": "my-application", "DeploymentGroupName": "my-deployment-group" }, "region": "us-east-1", "inputArtifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "artifact-bucket", "key": "myPipeline/SourceArti/key" } } ], "namespace": "DeployVariables" }, "output": { "outputArtifacts": [], "executionResult": { "externalExecutionId": "d-EXAMPLEE5", "externalExecutionSummary": "Deployment Succeeded", "externalExecutionUrl": "https://myaddress.com" }, "outputVariables": {} } }, { "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", "actionExecutionId": "EXAMPLE5-abb4-4192-9031-11111113a7b0", "pipelineVersion": 12, "stageName": "Source", "actionName": "Source", "startTime": 1598572624.387, "lastUpdateTime": 1598572628.16, "status": "Succeeded", "input": { "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "CodeCommit", "version": "1" }, "configuration": { "BranchName": "production", "PollForSourceChanges": "false", "RepositoryName": "my-repo" }, "resolvedConfiguration": { "BranchName": "production", "PollForSourceChanges": "false", "RepositoryName": "my-repo" }, "region": "us-east-1", "inputArtifacts": [], "namespace": "SourceVariables" }, "output": { "outputArtifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "amzn-s3-demo-bucket", "key": "myPipeline/SourceArti/key" } } ], "executionResult": { "externalExecutionId": "1111111ad99dcd35914c00b7fbea13995EXAMPLE", "externalExecutionSummary": "Edited template.yml", "externalExecutionUrl": "https://myaddress.com" }, "outputVariables": { "AuthorDate": "2020-05-08T17:45:43Z", "BranchName": "production", "CommitId": "EXAMPLEad99dcd35914c00b7fbea139951111111", "CommitMessage": "Edited template.yml", "CommitterDate": "2020-05-08T17:45:43Z", "RepositoryName": "my-repo" } } }, . . . .
Pour plus d'informations, consultez la section Afficher les exécutions d'actions (CLI) dans le guide de AWS CodePipeline l'utilisateur.
-
Pour plus de détails sur l'API, reportez-vous ListActionExecutions
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-action-types
.
- AWS CLI
-
Pour afficher les types d'actions disponibles
Utilisée seule, la list-action-types commande renvoie la structure de toutes les actions disponibles pour votre AWS compte. Cet exemple utilise l'action-owner-filter option -- pour renvoyer uniquement des actions personnalisées.
Commande :
aws codepipeline list-action-types --action-owner-filter
Custom
Sortie :
{ "actionTypes": [ { "inputArtifactDetails": { "maximumCount": 5, "minimumCount": 0 }, "actionConfigurationProperties": [ { "secret": false, "required": true, "name": "MyJenkinsExampleBuildProject", "key": true, "queryable": true } ], "outputArtifactDetails": { "maximumCount": 5, "minimumCount": 0 }, "id": { "category": "Build", "owner": "Custom", "version": "1", "provider": "MyJenkinsProviderName" }, "settings": { "entityUrlTemplate": "http://192.0.2.4/job/{Config:ProjectName}", "executionUrlTemplate": "http://192.0.2.4/job/{Config:ProjectName}/{ExternalExecutionId}" } }, { "inputArtifactDetails": { "maximumCount": 5, "minimumCount": 0 }, "actionConfigurationProperties": [ { "secret": false, "required": true, "name": "MyJenkinsExampleTestProject", "key": true, "queryable": true } ], "outputArtifactDetails": { "maximumCount": 5, "minimumCount": 0 }, "id": { "category": "Test", "owner": "Custom", "version": "1", "provider": "MyJenkinsProviderName" }, "settings": { "entityUrlTemplate": "http://192.0.2.4/job/{Config:ProjectName}", "executionUrlTemplate": "http://192.0.2.4/job/{Config:ProjectName}/{ExternalExecutionId}" } } ] }
-
Pour plus de détails sur l'API, reportez-vous ListActionTypes
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-pipeline-executions
.
- AWS CLI
-
Pour consulter l'historique d'exécution du pipeline
L'
list-pipeline-executions
exemple suivant montre l'historique d'exécution d'un pipeline dans votre AWS compte.aws codepipeline list-pipeline-executions \ --pipeline-name
MyPipeline
Sortie :
{ "pipelineExecutionSummaries": [ { "lastUpdateTime": 1496380678.648, "pipelineExecutionId": "7cf7f7cb-3137-539g-j458-d7eu3EXAMPLE", "startTime": 1496380258.243, "status": "Succeeded" }, { "lastUpdateTime": 1496591045.634, "pipelineExecutionId": "3137f7cb-8d494hj4-039j-d84l-d7eu3EXAMPLE", "startTime": 1496590401.222, "status": "Succeeded" }, { "lastUpdateTime": 1496946071.6456, "pipelineExecutionId": "4992f7jf-7cf7-913k-k334-d7eu3EXAMPLE", "startTime": 1496945471.5645, "status": "Succeeded" } ] }
Pour plus d'informations, consultez la section Afficher l'historique des exécutions dans le guide de AWS CodePipeline l'utilisateur.
-
Pour plus de détails sur l'API, reportez-vous ListPipelineExecutions
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-pipelines
.
- AWS CLI
-
Pour consulter la liste des pipelines
Cet exemple répertorie tous les AWS CodePipeline pipelines associés au AWS compte de l'utilisateur.
Commande :
aws codepipeline list-pipelines
Sortie :
{ "pipelines": [ { "updated": 1439504274.641, "version": 1, "name": "MyFirstPipeline", "created": 1439504274.641 }, { "updated": 1436461837.992, "version": 2, "name": "MySecondPipeline", "created": 1436460801.381 } ] }
-
Pour plus de détails sur l'API, reportez-vous ListPipelines
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-tags-for-resource
.
- AWS CLI
-
Pour répertorier les tags
L'
list-tags-for-resource
exemple suivant extrait une liste de toutes les balises associées à la ressource de pipeline spécifiée.aws codepipeline list-tags-for-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
Sortie :
{ "tags": { "Project": "ProjectA", "IscontainerBased": "true" } }
Pour plus d'informations, voir Afficher les balises d'un pipeline (CLI) dans le guide de AWS CodePipeline l'utilisateur.
-
Pour plus de détails sur l'API, reportez-vous ListTagsForResource
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-webhooks
.
- AWS CLI
-
Pour répertorier les webhooks
L'
list-webhooks
exemple suivant extrait une liste de toutes les balises associées à la ressource de pipeline spécifiée.aws codepipeline list-webhooks \ --endpoint-url
"https://codepipeline.eu-central-1.amazonaws.com"
\ --region"eu-central-1"
Sortie :
{ "webhooks": [ { "url": "https://webhooks.domain.com/trigger111111111EXAMPLE11111111111111111": { "authenticationConfiguration": { "SecretToken": "Secret" }, "name": "my-webhook", "authentication": "GITHUB_HMAC", "targetPipeline": "my-Pipeline", "targetAction": "Source", "filters": [ { "jsonPath": "$.ref", "matchEquals": "refs/heads/{Branch}" } ] }, "arn": "arn:aws:codepipeline:eu-central-1:123456789012:webhook:my-webhook" } ] }
Pour plus d'informations, consultez la section Répertorier les webhooks de votre compte dans le guide de AWS CodePipeline l'utilisateur.
-
Pour plus de détails sur l'API, reportez-vous ListWebhooks
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserpoll-for-jobs
.
- AWS CLI
-
Pour consulter les offres d'emploi disponibles
Cet exemple renvoie des informations sur toutes les tâches sur lesquelles un travailleur doit agir. Cet exemple utilise un fichier JSON prédéfini (MyActionTypeInfo.json) pour fournir des informations sur le type d'action pour lequel le travailleur traite les tâches. Cette commande est uniquement utilisée pour les actions personnalisées. Lorsque cette commande est appelée, elle AWS CodePipeline renvoie des informations d'identification temporaires pour le compartiment Amazon S3 utilisé pour stocker les artefacts du pipeline. Cette commande renverra également toutes les valeurs secrètes définies pour l'action, le cas échéant.
Commande :
aws codepipeline poll-for-jobs --cli-input-json
file://MyActionTypeInfo.json
Exemple de contenu d'un fichier JSON :
{ "actionTypeId": { "category": "Test", "owner": "Custom", "provider": "MyJenkinsProviderName", "version": "1" }, "maxBatchSize": 5, "queryParam": { "ProjectName": "MyJenkinsTestProject" } }
Sortie :
{ "jobs": [ { "accountId": "111111111111", "data": { "actionConfiguration": { "__type": "ActionConfiguration", "configuration": { "ProjectName": "MyJenkinsExampleTestProject" } }, "actionTypeId": { "__type": "ActionTypeId", "category": "Test", "owner": "Custom", "provider": "MyJenkinsProviderName", "version": "1" }, "artifactCredentials": { "__type": "AWSSessionCredentials", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "secretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "sessionToken": "fICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE=" }, "inputArtifacts": [ { "__type": "Artifact", "location": { "s3Location": { "bucketName": "codepipeline-us-east-1-11EXAMPLE11", "objectKey": "MySecondPipeline/MyAppBuild/EXAMPLE" }, "type": "S3" }, "name": "MyAppBuild" } ], "outputArtifacts": [], "pipelineContext": { "__type": "PipelineContext", "action": { "name": "MyJenkinsTest-Action" }, "pipelineName": "MySecondPipeline", "stage": { "name": "Testing" } } }, "id": "ef66c259-64f9-EXAMPLE", "nonce": "3" } ] }
-
Pour plus de détails sur l'API, reportez-vous PollForJobs
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserput-webhook
.
- AWS CLI
-
Pour créer un webhook
L'
put-webhook
exemple suivant crée un webhook pour une action source de GitHub version 1. Après avoir créé le webhook, vous devez utiliser la commande register-webhook-with-third -party pour l'enregistrer.aws codepipeline put-webhook \ --cli-input-json
file://webhook_json.json
\ --region"eu-central-1"
Contenu de
webhook_json.json
:{ "webhook": { "name": "my-webhook", "targetPipeline": "pipeline_name", "targetAction": "source_action_name", "filters": [ { "jsonPath": "$.ref", "matchEquals": "refs/heads/{Branch}" } ], "authentication": "GITHUB_HMAC", "authenticationConfiguration": { "SecretToken": "secret" } } }
Sortie :
{ "webhook": { "url": "https://webhooks.domain.com/trigger111111111EXAMPLE11111111111111111", "definition": { "authenticationConfiguration": { "SecretToken": "secret" }, "name": "my-webhook", "authentication": "GITHUB_HMAC", "targetPipeline": "pipeline_name", "targetAction": "Source", "filters": [ { "jsonPath": "$.ref", "matchEquals": "refs/heads/{Branch}" } ] }, "arn": "arn:aws:codepipeline:eu-central-1:123456789012:webhook:my-webhook" }, "tags": [ { "key": "Project", "value": "ProjectA" } ] }
Pour plus d'informations, voir Création d'un webhook pour une GitHub source dans le guide de l'AWS CodePipeline utilisateur.
-
Pour plus de détails sur l'API, reportez-vous PutWebhook
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserretry-stage-execution
.
- AWS CLI
-
Pour réessayer une action qui a échoué
L'
retry-stage-execution
exemple suivant réessaie une étape dont l'action a échoué.aws codepipeline retry-stage-execution \ --pipeline-name
MyPipeline
\ --stage-nameDeploy
\ --pipeline-execution-idb59babff-5f34-EXAMPLE
\ --retry-modeFAILED_ACTIONS
Sortie :
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }
Pour plus d'informations, consultez la section Réessayer les actions ayant échoué (CLI) dans le guide de l'AWS CodePipeline utilisateur.
-
Pour plus de détails sur l'API, reportez-vous RetryStageExecution
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserstart-pipeline-execution
.
- AWS CLI
-
Pour exécuter la dernière révision via un pipeline
Cet exemple exécute la dernière révision présente dans l'étape source d'un pipeline via le pipeline nommé « MyFirstPipeline ».
Commande :
aws codepipeline start-pipeline-execution --name
MyFirstPipeline
Sortie :
{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }
-
Pour plus de détails sur l'API, reportez-vous StartPipelineExecution
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserstop-pipeline-execution
.
- AWS CLI
-
Pour arrêter l'exécution d'un pipeline
L'
stop-pipeline-execution
exemple suivant montre par défaut comment attendre la fin des actions en cours, puis arrête le pipeline. Vous ne pouvez pas choisir d'arrêter et d'attendre si l'exécution est déjà à l’état Stopping. Vous pouvez choisir d'arrêter et d'abandonner une exécution déjà à l’état Stopping.aws codepipeline stop-pipeline-execution \ --pipeline-name
MyFirstPipeline
\ --pipeline-execution-idd-EXAMPLE
\ --reason"Stopping pipeline after the build action is done"
Cette commande ne renvoie aucun résultat.
Pour plus d'informations, voir Arrêter l'exécution d'un pipeline (CLI) dans le guide de AWS CodePipeline l'utilisateur.
-
Pour plus de détails sur l'API, reportez-vous StopPipelineExecution
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisertag-resource
.
- AWS CLI
-
Pour étiqueter une ressource
L'
tag-resource
exemple suivant associe un ensemble de balises fournies à un pipeline. Utilisez cette commande pour ajouter ou modifier des balises.aws codepipeline tag-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
\ --tagskey=Project,value=ProjectA
key=IscontainerBased,value=true
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez la section Ajouter des balises à un pipeline (CLI) dans le guide de AWS CodePipeline l'utilisateur.
-
Pour plus de détails sur l'API, reportez-vous TagResource
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliseruntag-resource
.
- AWS CLI
-
Pour supprimer des AWS balises d'une ressource de connexion
L'
untag-resource
exemple suivant supprime une balise de la ressource spécifiée.aws codepipeline untag-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
\ --tag-keysProject
IscontainerBased
Cette commande ne produit aucun résultat.
Pour plus d'informations, voir Supprimer les balises d'un pipeline (CLI) dans le guide de AWS CodePipeline l'utilisateur.
-
Pour plus de détails sur l'API, reportez-vous UntagResource
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserupdate-pipeline
.
- AWS CLI
-
Pour mettre à jour la structure d'un pipeline
Cet exemple utilise la commande update-pipeline avec l'argument --cli-input-json . Cet exemple utilise un fichier JSON prédéfini (MyFirstPipeline.json) pour mettre à jour la structure d'un pipeline. AWS CodePipeline reconnaît le nom du pipeline contenu dans le fichier JSON, puis applique les modifications apportées aux champs modifiés de la structure du pipeline pour mettre à jour le pipeline.
Respectez les consignes suivantes lors de la création du fichier JSON prédéfini :
Si vous travaillez avec une structure de pipeline récupérée à l'aide de la commande get-pipeline, vous devez supprimer la section de métadonnées de la structure de pipeline dans le fichier JSON (les lignes « metadata » : {} et les champs « created », « pipelineRain » et « updated » qu'ils contiennent). Le nom du pipeline ne peut pas être modifié.
Commande :
aws codepipeline update-pipeline --cli-input-json
file://MyFirstPipeline.json
Exemple de contenu de fichier JSON :
{ "pipeline": { "roleArn": "arn:aws:iam::111111111111:role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "awscodepipeline-demo-bucket2", "S3ObjectKey": "aws-codepipeline-s3-aws-codedeploy_linux.zip" }, "runOrder": 1 } ] }, { "name": "Beta", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "CodePipelineDemoFleet", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-1-11EXAMPLE11" }, "name": "MyFirstPipeline", "version": 1 } }
Sortie :
{ "pipeline": { "artifactStore": { "location": "codepipeline-us-east-1-11EXAMPLE11", "type": "S3" }, "name": "MyFirstPipeline", "roleArn": "arn:aws:iam::111111111111:role/AWS-CodePipeline-Service", "stages": [ { "actions": [ { "actionTypeId": { "__type": "ActionTypeId", "category": "Source", "owner": "AWS", "provider": "S3", "version": "1" }, "configuration": { "S3Bucket": "awscodepipeline-demo-bucket2", "S3ObjectKey": "aws-codepipeline-s3-aws-codedeploy_linux.zip" }, "inputArtifacts": [], "name": "Source", "outputArtifacts": [ { "name": "MyApp" } ], "runOrder": 1 } ], "name": "Source" }, { "actions": [ { "actionTypeId": { "__type": "ActionTypeId", "category": "Deploy", "owner": "AWS", "provider": "CodeDeploy", "version": "1" }, "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "inputArtifacts": [ { "name": "MyApp" } ], "name": "CodePipelineDemoFleet", "outputArtifacts": [], "runOrder": 1 } ], "name": "Beta" } ], "version": 3 } }
-
Pour plus de détails sur l'API, reportez-vous UpdatePipeline
à la section Référence des AWS CLI commandes.
-