CodePipeline exemples utilisant AWS CLI - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1. 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.

CodePipeline exemples utilisant AWS CLI

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. Les actions vous indiquent comment appeler des fonctions de service individuelles, mais vous pouvez les visualiser dans leur contexte dans les scénarios correspondants.

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 --nonce 3

Sortie :

{ "status": "InProgress" }
  • Pour API plus de détails, voir AcknowledgeJobla 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 JSON fichier 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 JSON fichier 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.

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 JSON fichier 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

JSONcontenu de l'échantillon de fichier :

{ "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 API plus de détails, voir CreatePipelinela 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 JSON fichier 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

JSONcontenu de l'échantillon de fichier :

{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }

Sortie :

None.

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 API plus de détails, voir DeletePipelinela 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-webhookexemple suivant supprime un webhook pour une action source de GitHub version 1. Vous devez utiliser la deregister-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 API plus de détails, voir DeleteWebhookla 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-partyexemple 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.

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-name Beta --transition-type Inbound

Sortie :

None.

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-name Beta --transition-type Inbound

Sortie :

None.

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 API plus de détails, voir GetJobDetailsla 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 API plus de détails, voir GetPipelineStatela 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 API plus de détails, voir GetPipelinela 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-executionsexemple 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": "my-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, voir Afficher les exécutions d'actions (CLI) dans le guide de AWS CodePipeline l'utilisateur.

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 API plus de détails, voir ListActionTypesla 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-executionsexemple 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.

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 API plus de détails, voir ListPipelinesla 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-resourceexemple 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 API plus de détails, voir ListTagsForResourcela 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-webhooksexemple 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 API plus de détails, voir ListWebhooksla 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

Cet exemple renvoie des informations sur toutes les tâches sur lesquelles un travailleur doit agir. Cet exemple utilise un JSON fichier 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

JSONcontenu de l'échantillon de fichier :

{ "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 API plus de détails, voir PollForJobsla 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-webhookexemple 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 API plus de détails, voir PutWebhookla 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-executionexemple suivant réessaie une étape dont l'action a échoué.

aws codepipeline retry-stage-execution \ --pipeline-name MyPipeline \ --stage-name Deploy \ --pipeline-execution-id b59babff-5f34-EXAMPLE \ --retry-mode FAILED_ACTIONS

Sortie :

{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }

Pour plus d'informations, voir Réessayer les actions ayant échoué (CLI) dans le guide de l'AWS CodePipeline utilisateur.

  • Pour API plus de détails, voir RetryStageExecutionla 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" }

L'exemple de code suivant montre comment utiliserstop-pipeline-execution.

AWS CLI

Pour arrêter l'exécution d'un pipeline

L'stop-pipeline-executionexemple 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-id d-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.

L'exemple de code suivant montre comment utilisertag-resource.

AWS CLI

Pour étiqueter une ressource

L'tag-resourceexemple 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 \ --tags key=Project,value=ProjectA key=IscontainerBased,value=true

Cette commande ne produit aucun résultat.

Pour plus d'informations, voir Ajouter des balises à un pipeline (CLI) dans le guide de AWS CodePipeline l'utilisateur.

  • Pour API plus de détails, voir TagResourcela 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-resourceexemple 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-keys Project 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 API plus de détails, voir UntagResourcela 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 JSON fichier prédéfini (MyFirstPipeline.json) pour mettre à jour la structure d'un pipeline. AWS CodePipeline reconnaît le nom du pipeline contenu dans le JSON fichier, 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 JSON fichier 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 JSON fichier (les lignes « metadata » : {} et les champs « créé », « pipeline ARN » et « mis à jour » 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 JSON fichier :

{ "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 API plus de détails, voir UpdatePipelinela section Référence des AWS CLI commandes.