Exemples d’utilisation de l’AWS CLI avec CodePipeline
Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec 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 configuration et l’exécution du code en contexte.
Rubriques
Actions
L’exemple de code suivant montre comment utiliser acknowledge-job.
- AWS CLI
-
Pour récupérer les informations sur une tâche spécifiée
Cet exemple renvoie les informations sur une tâche spécifiée, y compris son statut s’il existe. Ceci n’est utilisé que pour les exécutants de tâches et les actions personnalisées. Pour déterminer la valeur de nonce et l’ID de tâche, utilisez la commande aws codepipeline poll-for-jobs.
Commande :
aws codepipeline acknowledge-job --job-idf4f4ff82-2d11-EXAMPLE--nonce3Sortie :
{ "status": "InProgress" }-
Pour plus de détails sur l’API, consultez AcknowledgeJob
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-custom-action-type.
- AWS CLI
-
Pour créer une action personnalisée
Cet exemple crée une action personnalisée pour AWS CodePipeline à l’aide d’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, y compris la structure du fichier, consultez le Guide de l’utilisateur AWS CodePipeline.
aws codepipeline create-custom-action-type --cli-input-jsonfile://MyCustomAction.jsonContenu 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, consultez CreateCustomActionType
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-pipeline.
- AWS CLI
-
Pour créer un pipeline
Cet exemple crée un pipeline dans AWS CodePipeline à l’aide d’un fichier JSON déjà créé (ici nommé MySecondPipeline.json) qui contient la structure du pipeline. Pour plus d’informations sur les conditions requises pour créer un pipeline, y compris la structure du fichier, consultez le Guide de l’utilisateur AWS CodePipeline.
Commande :
aws codepipeline create-pipeline --cli-input-jsonfile://MySecondPipeline.jsonContenu du fichier JSON en exemple :
{ "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, consultez CreatePipeline
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-custom-action-type.
- AWS CLI
-
Pour supprimer une action personnalisée
Cet exemple supprime une action personnalisée dans AWS CodePipeline à l’aide d’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 commande list-action-types pour afficher les valeurs correctes pour la catégorie, la version et le fournisseur.
Commande :
aws codepipeline delete-custom-action-type --cli-input-jsonfile://DeleteMyCustomAction.jsonContenu du fichier JSON en exemple :
{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }Sortie :
None.-
Pour plus de détails sur l’API, consultez DeleteCustomActionType
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-pipeline.
- AWS CLI
-
Pour supprimer un pipeline
Cet exemple supprime un pipeline nommé MySecondPipeline d’AWS CodePipeline. Utilisez la commande list-pipelines pour afficher une liste de tous les pipelines associés à votre compte AWS.
Commande :
aws codepipeline delete-pipeline --nameMySecondPipelineSortie :
None.-
Pour plus de détails sur l’API, consultez DeletePipeline
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-webhook.
- AWS CLI
-
Pour supprimer un webhook
L’exemple
delete-webhooksuivant supprime un webhook pour une action source GitHub version 1. Vous devez utiliser la commandederegister-webhook-with-third-partypour annuler l’enregistrement du webhook avant de le supprimer.aws codepipeline delete-webhook \ --namemy-webhookCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Suppression du webhook pour votre source GitHub dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez DeleteWebhook
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser deregister-webhook-with-third-party.
- AWS CLI
-
Pour annuler l’enregistrement d’un webhook
L’exemple
deregister-webhook-with-third-partysuivant supprime un webhook pour une action source GitHub version 1. Vous devez annuler l’enregistrement du webhook avant de supprimer ce dernier.aws codepipeline deregister-webhook-with-third-party \ --webhook-namemy-webhookCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Suppression du webhook pour votre source GitHub dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez DeregisterWebhookWithThirdParty
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser disable-stage-transition.
- AWS CLI
-
Pour désactiver une transition vers une étape d’un pipeline
Cet exemple désactive les transitions vers l’étape bêta du pipeline MyFirstPipeline dans AWS CodePipeline.
Commande :
aws codepipeline disable-stage-transition --pipeline-nameMyFirstPipeline--stage-nameBeta--transition-typeInboundSortie :
None.-
Pour plus de détails sur l’API, consultez DisableStageTransition
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser enable-stage-transition.
- AWS CLI
-
Pour permettre la transition vers une étape dans un pipeline
Cet exemple permet de passer à l’étape bêta du pipeline MyFirstPipeline dans AWS CodePipeline.
Commande :
aws codepipeline enable-stage-transition --pipeline-nameMyFirstPipeline--stage-nameBeta--transition-typeInboundSortie :
None.-
Pour plus de détails sur l’API, consultez EnableStageTransition
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-job-details.
- AWS CLI
-
Pour obtenir les informations sur une tâche
Cet exemple renvoie les informations sur 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, AWS CodePipeline renvoie les 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 renvoie également toutes les valeurs secrètes définies pour l’action, le cas échéant.
Commande :
aws codepipeline get-job-details --job-idf4f4ff82-2d11-EXAMPLESortie :
{ "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, consultez GetJobDetails
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-pipeline-state.
- AWS CLI
-
Pour obtenir les informations sur l’état d’un pipeline
Cet exemple renvoie l’état le plus récent du pipeline nommé MyFirstPipeline.
Commande :
aws codepipeline get-pipeline-state --nameMyFirstPipelineSortie :
{ "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, consultez GetPipelineState
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-pipeline.
- AWS CLI
-
Pour afficher la structure d’un pipeline
Cet exemple renvoie la structure du pipeline nommé MyFirstPipeline.
Commande :
aws codepipeline get-pipeline --nameMyFirstPipelineSortie :
{ "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, consultez GetPipeline
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-action-executions.
- AWS CLI
-
Pour répertorier les exécutions d’actions
L’exemple
list-action-executionssuivant affiche les informations sur l’exécution d’actions d’un pipeline, comme l’ID d’exécution des actions, les artefacts d’entrée et de sortie, le résultat de l’exécution et le statut.aws codepipeline list-action-executions \ --pipeline-namemyPipelineSortie :
{ "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 Affichage des exécutions des actions (interface de ligne de commande) dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez ListActionExecutions
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-action-types.
- AWS CLI
-
Pour afficher les types d’actions disponibles
Utilisée seule, la commande list-action-types renvoie la structure de toutes les actions disponibles pour votre compte AWS. Cet exemple utilise l’option --action-owner-filter pour renvoyer uniquement les actions personnalisées.
Commande :
aws codepipeline list-action-types --action-owner-filterCustomSortie :
{ "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, consultez ListActionTypes
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-pipeline-executions.
- AWS CLI
-
Pour afficher l’historique d’exécution du pipeline
L’exemple
list-pipeline-executionssuivant montre l’historique d’exécution d’un pipeline dans votre compte AWS.aws codepipeline list-pipeline-executions \ --pipeline-nameMyPipelineSortie :
{ "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 Affichage de l’historique d’exécution dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez ListPipelineExecutions
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-pipelines.
- AWS CLI
-
Pour afficher la liste des pipelines
Cet exemple répertorie tous les pipelines AWS CodePipeline associés au compte AWS de l’utilisateur.
Commande :
aws codepipeline list-pipelinesSortie :
{ "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, consultez ListPipelines
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-tags-for-resource.
- AWS CLI
-
Pour afficher la liste des balises
L’exemple
list-tags-for-resourcesuivant récupère une liste de toutes les balises associées à la ressource de pipeline spécifiée.aws codepipeline list-tags-for-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipelineSortie :
{ "tags": { "Project": "ProjectA", "IscontainerBased": "true" } }Pour plus d’informations, consultez Affichage des balises d’un pipeline (interface de ligne de commande) dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez ListTagsForResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-webhooks.
- AWS CLI
-
Pour répertorier des webhooks
L’exemple
list-webhookssuivant récupère 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 Affichage de la liste des webhooks de votre compte dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez ListWebhooks
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser poll-for-jobs.
- AWS CLI
-
Pour afficher les tâches disponibles
Cet exemple renvoie les informations sur toutes les tâches sur lesquelles un exécutant de tâches doit agir. Cet exemple utilise un fichier JSON prédéfini (MyActionTypeInfo.json) pour fournir des informations sur le type d’action pour lequel l’exécutant de tâches traite les tâches. Cette commande est uniquement utilisée pour les actions personnalisées. Lorsque cette commande est appelée, AWS CodePipeline renvoie les informations d’identification temporaires pour le compartiment Amazon S3 utilisé pour stocker les artefacts du pipeline. Cette commande renvoie également toutes les valeurs secrètes définies pour l’action, le cas échéant.
Commande :
aws codepipeline poll-for-jobs --cli-input-jsonfile://MyActionTypeInfo.jsonContenu du fichier JSON en exemple :
{ "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, consultez PollForJobs
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser put-webhook.
- AWS CLI
-
Pour créer un webhook
L’exemple
put-webhooksuivant crée un webhook pour une action source 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-jsonfile://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, consultez Création d’un webhook pour une source GitHub dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez PutWebhook
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser retry-stage-execution.
- AWS CLI
-
Pour tenter à nouveau une action qui a échoué
L’exemple
retry-stage-executionsuivant réessaie une étape dont l’action a échoué.aws codepipeline retry-stage-execution \ --pipeline-nameMyPipeline\ --stage-nameDeploy\ --pipeline-execution-idb59babff-5f34-EXAMPLE\ --retry-modeFAILED_ACTIONSSortie :
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }Pour plus d’informations, consultez Nouvelle tentative d’actions ayant échoué (interface de ligne de commande) dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez RetryStageExecution
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser start-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 --nameMyFirstPipelineSortie :
{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }-
Pour plus de détails sur l’API, consultez StartPipelineExecution
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser stop-pipeline-execution.
- AWS CLI
-
Pour arrêter l’exécution d’un pipeline
L’exemple
stop-pipeline-executionsuivant 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-nameMyFirstPipeline\ --pipeline-execution-idd-EXAMPLE\ --reason"Stopping pipeline after the build action is done"Cette commande ne renvoie aucun résultat.
Pour plus d’informations, consultez Arrêt de l’exécution d’un pipeline (interface de ligne de commande) dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez StopPipelineExecution
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser tag-resource.
- AWS CLI
-
Pour baliser une ressource
L’exemple
tag-resourcesuivant associe un ensemble de balises fournies à un pipeline. Utilisez cette commande pour ajouter ou modifier des balises.aws codepipeline tag-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipeline\ --tagskey=Project,value=ProjectAkey=IscontainerBased,value=trueCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Ajout de balises à un pipeline (interface de ligne de commande) dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez TagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser untag-resource.
- AWS CLI
-
Pour supprimer des balises AWS d’une ressource de connexions
L’exemple
untag-resourcesuivant supprime une balise de la ressource spécifiée.aws codepipeline untag-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipeline\ --tag-keysProjectIscontainerBasedCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Suppression des balises d’un pipeline (interface de ligne de commande) dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour plus de détails sur l’API, consultez UntagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-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 ce dernier.
Suivez ces directives lors de la création du fichier JSON prédéfini :
Si vous travaillez avec une structure de pipeline extraite à l’aide de la commande get-pipeline, vous devez supprimer la section de métadonnées de la structure du pipeline dans le fichier JSON (les lignes « "metadata": { } » et les champs « created », « pipelineARN » et « updated » qu’elles contiennent). Le nom du pipeline ne peut pas être modifié.
Commande :
aws codepipeline update-pipeline --cli-input-jsonfile://MyFirstPipeline.jsonExemple de contenu du 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, consultez UpdatePipeline
dans la Référence des commandes de l’AWS CLI.
-