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. 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 utiliseracknowledge-job.
- AWS CLI
-
Pour extraire 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 exécutants de tâches 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-idf4f4ff82-2d11-EXAMPLE--nonce3Sortie :
{ "status": "InProgress" }-
Pour plus de détails sur l'API, voir 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-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, voir 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-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, voir 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-jsonfile://DeleteMyCustomAction.jsonContenu du fichier JSON en exemple :
{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }Sortie :
None.-
Pour plus de détails sur l'API, voir 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 --nameMySecondPipelineSortie :
None.-
Pour plus de détails sur l'API, voir 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-webhookexemple suivant supprime un webhook pour une action source de 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, voir Supprimer le webhook de votre GitHub source dans le guide de l'AWS CodePipeline utilisateur.
-
Pour plus de détails sur l'API, voir 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 annuler l’enregistrement d’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-namemy-webhookCette commande ne produit aucune sortie.
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, voir 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-nameMyFirstPipeline--stage-nameBeta--transition-typeInboundSortie :
None.-
Pour plus de détails sur l'API, voir 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 dans un pipeline
Cet exemple permet de passer à la phase bêta du MyFirstPipeline pipeline dans AWS CodePipeline.
Commande :
aws codepipeline enable-stage-transition --pipeline-nameMyFirstPipeline--stage-nameBeta--transition-typeInboundSortie :
None.-
Pour plus de détails sur l'API, voir EnableStageTransition
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-job-details.
- AWS CLI
-
Pour obtenir des informations sur une tâche
Cet exemple renvoie des 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, 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-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, voir 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 --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, voir 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 --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, voir 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’exemple
list-action-executionssuivant affiche des informations sur l’exécution d’actions d’un pipeline, comme l’ID d’exécution d’actions, les artefacts d’entrée, ceux 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 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, voir 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-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, voir ListActionTypes
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-pipeline-executions.
- AWS CLI
-
Pour afficher 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-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 la section Afficher l'historique des exécutions dans le guide de AWS CodePipeline l'utilisateur.
-
Pour plus de détails sur l'API, voir 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-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, voir 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 des balises
L’exemple
list-tags-for-resourcesuivant extrait 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, voir Afficher les balises d'un pipeline (CLI) dans le guide de AWS CodePipeline l'utilisateur.
-
Pour plus de détails sur l'API, voir ListTagsForResource
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-webhooks.
- AWS CLI
-
Pour répertorier des webhooks
L’exemple
list-webhookssuivant 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, voir ListWebhooks
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserpoll-for-jobs.
- AWS CLI
-
Pour afficher les tâches disponibles
Cet exemple renvoie des 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 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-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, voir 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-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-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, 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, voir PutWebhook
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserretry-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 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, voir 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 --nameMyFirstPipelineSortie :
{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }-
Pour plus de détails sur l'API, voir 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’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, 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, voir StopPipelineExecution
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisertag-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 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’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, 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.
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’ils 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, reportez-vous UpdatePipeline
à la section Référence des AWS CLI commandes.
-