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
--nonce3
Sortie :
{ "status": "InProgress" }
-
Pour API plus de détails, 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 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.
-
Pour API plus de détails, 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 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 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 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.
-
Pour API plus de détails, 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 --name
MySecondPipeline
Sortie :
None.
-
Pour API plus de détails, 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-webhook
exemple suivant supprime un webhook pour une action source de GitHub version 1. Vous devez utiliser laderegister-webhook-with-third-party
commande pour désenregistrer le webhook avant de le supprimer.aws codepipeline delete-webhook \ --name
my-webhook
Cette commande ne produit aucun résultat.
Pour plus d'informations, voir Supprimer le webhook de votre GitHub source dans le guide de l'AWS CodePipeline utilisateur.
-
Pour API plus de détails, 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 désenregistrer un webhook
L'
deregister-webhook-with-third-party
exemple suivant supprime un webhook pour une action source de GitHub version 1. Vous devez annuler l'enregistrement du webhook avant de supprimer ce dernier.aws codepipeline deregister-webhook-with-third-party \ --webhook-name
my-webhook
Cette commande ne produit aucun résultat.
Pour plus d'informations, voir Supprimer le webhook de votre GitHub source dans le guide de l'AWS CodePipeline utilisateur.
-
Pour API plus de détails, 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-name
MyFirstPipeline
--stage-nameBeta
--transition-typeInbound
Sortie :
None.
-
Pour API plus de détails, 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 d'un pipeline
Cet exemple permet de passer à la phase bêta du MyFirstPipeline pipeline dans AWS CodePipeline.
Commande :
aws codepipeline enable-stage-transition --pipeline-name
MyFirstPipeline
--stage-nameBeta
--transition-typeInbound
Sortie :
None.
-
Pour API plus de détails, 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 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 GetJobDetails
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-pipeline-state
.
- AWS CLI
-
Pour obtenir des informations sur l'état d'un pipeline
Cet exemple renvoie l'état le plus récent d'un pipeline nommé MyFirstPipeline.
Commande :
aws codepipeline get-pipeline-state --name
MyFirstPipeline
Sortie :
{ "created": 1446137312.204, "pipelineName": "MyFirstPipeline", "pipelineVersion": 1, "stageStates": [ { "actionStates": [ { "actionName": "Source", "entityUrl": "https://console.aws.amazon.com/s3/home?#", "latestExecution": { "lastStatusChange": 1446137358.328, "status": "Succeeded" } } ], "stageName": "Source" }, { "actionStates": [ { "actionName": "CodePipelineDemoFleet", "entityUrl": "https://console.aws.amazon.com/codedeploy/home?#/applications/CodePipelineDemoApplication/deployment-groups/CodePipelineDemoFleet", "latestExecution": { "externalExecutionId": "d-EXAMPLE", "externalExecutionUrl": "https://console.aws.amazon.com/codedeploy/home?#/deployments/d-EXAMPLE", "lastStatusChange": 1446137493.131, "status": "Succeeded", "summary": "Deployment Succeeded" } } ], "inboundTransitionState": { "enabled": true }, "stageName": "Beta" } ], "updated": 1446137312.204 }
-
Pour API plus de détails, 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 --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 GetPipeline
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-action-executions
.
- AWS CLI
-
Pour répertorier les exécutions d'actions
L'
list-action-executions
exemple suivant affiche les détails de l'exécution d'une action pour un pipeline, tels que l'ID d'exécution de l'action, les artefacts d'entrée, les artefacts de sortie, le résultat de l'exécution et le statut.aws codepipeline list-action-executions \ --pipeline-name
myPipeline
Sortie :
{ "actionExecutionDetails": [ { "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", "actionExecutionId": "EXAMPLE4-2ee8-4853-bd6a-111111158148", "pipelineVersion": 12, "stageName": "Deploy", "actionName": "Deploy", "startTime": 1598572628.6, "lastUpdateTime": 1598572661.255, "status": "Succeeded", "input": { "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "CodeDeploy", "version": "1" }, "configuration": { "ApplicationName": "my-application", "DeploymentGroupName": "my-deployment-group" }, "resolvedConfiguration": { "ApplicationName": "my-application", "DeploymentGroupName": "my-deployment-group" }, "region": "us-east-1", "inputArtifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "artifact-bucket", "key": "myPipeline/SourceArti/key" } } ], "namespace": "DeployVariables" }, "output": { "outputArtifacts": [], "executionResult": { "externalExecutionId": "d-EXAMPLEE5", "externalExecutionSummary": "Deployment Succeeded", "externalExecutionUrl": "https://myaddress.com" }, "outputVariables": {} } }, { "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", "actionExecutionId": "EXAMPLE5-abb4-4192-9031-11111113a7b0", "pipelineVersion": 12, "stageName": "Source", "actionName": "Source", "startTime": 1598572624.387, "lastUpdateTime": 1598572628.16, "status": "Succeeded", "input": { "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "CodeCommit", "version": "1" }, "configuration": { "BranchName": "production", "PollForSourceChanges": "false", "RepositoryName": "my-repo" }, "resolvedConfiguration": { "BranchName": "production", "PollForSourceChanges": "false", "RepositoryName": "my-repo" }, "region": "us-east-1", "inputArtifacts": [], "namespace": "SourceVariables" }, "output": { "outputArtifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "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.
-
Pour API plus de détails, 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-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 ListActionTypes
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-pipeline-executions
.
- AWS CLI
-
Pour consulter l'historique d'exécution du pipeline
L'
list-pipeline-executions
exemple suivant montre l'historique d'exécution d'un pipeline dans votre AWS compte.aws codepipeline list-pipeline-executions \ --pipeline-name
MyPipeline
Sortie :
{ "pipelineExecutionSummaries": [ { "lastUpdateTime": 1496380678.648, "pipelineExecutionId": "7cf7f7cb-3137-539g-j458-d7eu3EXAMPLE", "startTime": 1496380258.243, "status": "Succeeded" }, { "lastUpdateTime": 1496591045.634, "pipelineExecutionId": "3137f7cb-8d494hj4-039j-d84l-d7eu3EXAMPLE", "startTime": 1496590401.222, "status": "Succeeded" }, { "lastUpdateTime": 1496946071.6456, "pipelineExecutionId": "4992f7jf-7cf7-913k-k334-d7eu3EXAMPLE", "startTime": 1496945471.5645, "status": "Succeeded" } ] }
Pour plus d'informations, consultez la section Afficher l'historique des exécutions dans le guide de AWS CodePipeline l'utilisateur.
-
Pour API plus de détails, 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-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 ListPipelines
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-tags-for-resource
.
- AWS CLI
-
Pour répertorier les tags
L'
list-tags-for-resource
exemple suivant extrait une liste de toutes les balises associées à la ressource de pipeline spécifiée.aws codepipeline list-tags-for-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
Sortie :
{ "tags": { "Project": "ProjectA", "IscontainerBased": "true" } }
Pour plus d'informations, voir Afficher les balises d'un pipeline (CLI) dans le guide de AWS CodePipeline l'utilisateur.
-
Pour API plus de détails, 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 les webhooks
L'
list-webhooks
exemple suivant extrait une liste de toutes les balises associées à la ressource de pipeline spécifiée.aws codepipeline list-webhooks \ --endpoint-url
"https://codepipeline.eu-central-1.amazonaws.com"
\ --region"eu-central-1"
Sortie :
{ "webhooks": [ { "url": "https://webhooks.domain.com/trigger111111111EXAMPLE11111111111111111": { "authenticationConfiguration": { "SecretToken": "Secret" }, "name": "my-webhook", "authentication": "GITHUB_HMAC", "targetPipeline": "my-Pipeline", "targetAction": "Source", "filters": [ { "jsonPath": "$.ref", "matchEquals": "refs/heads/{Branch}" } ] }, "arn": "arn:aws:codepipeline:eu-central-1:123456789012:webhook:my-webhook" } ] }
Pour plus d'informations, consultez la section Répertorier les webhooks de votre compte dans le guide de AWS CodePipeline l'utilisateur.
-
Pour API plus de détails, voir ListWebhooks
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserpoll-for-jobs
.
- AWS CLI
-
Pour consulter les offres d'emploi
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 PollForJobs
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserput-webhook
.
- AWS CLI
-
Pour créer un webhook
L'
put-webhook
exemple suivant crée un webhook pour une action source de GitHub version 1. Après avoir créé le webhook, vous devez utiliser la commande register-webhook-with-third -party pour l'enregistrer.aws codepipeline put-webhook \ --cli-input-json
file://webhook_json.json
\ --region"eu-central-1"
Contenu de
webhook_json.json
:{ "webhook": { "name": "my-webhook", "targetPipeline": "pipeline_name", "targetAction": "source_action_name", "filters": [ { "jsonPath": "$.ref", "matchEquals": "refs/heads/{Branch}" } ], "authentication": "GITHUB_HMAC", "authenticationConfiguration": { "SecretToken": "secret" } } }
Sortie :
{ "webhook": { "url": "https://webhooks.domain.com/trigger111111111EXAMPLE11111111111111111", "definition": { "authenticationConfiguration": { "SecretToken": "secret" }, "name": "my-webhook", "authentication": "GITHUB_HMAC", "targetPipeline": "pipeline_name", "targetAction": "Source", "filters": [ { "jsonPath": "$.ref", "matchEquals": "refs/heads/{Branch}" } ] }, "arn": "arn:aws:codepipeline:eu-central-1:123456789012:webhook:my-webhook" }, "tags": [ { "key": "Project", "value": "ProjectA" } ] }
Pour plus d'informations, voir Création d'un webhook pour une GitHub source dans le guide de l'AWS CodePipeline utilisateur.
-
Pour API plus de détails, voir PutWebhook
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserretry-stage-execution
.
- AWS CLI
-
Pour réessayer une action qui a échoué
L'
retry-stage-execution
exemple suivant réessaie une étape dont l'action a échoué.aws codepipeline retry-stage-execution \ --pipeline-name
MyPipeline
\ --stage-nameDeploy
\ --pipeline-execution-idb59babff-5f34-EXAMPLE
\ --retry-modeFAILED_ACTIONS
Sortie :
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }
Pour plus d'informations, voir Réessayer les actions ayant échoué (CLI) dans le guide de l'AWS CodePipeline utilisateur.
-
Pour API plus de détails, 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 --name
MyFirstPipeline
Sortie :
{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }
-
Pour API plus de détails, 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'
stop-pipeline-execution
exemple suivant montre par défaut comment attendre la fin des actions en cours, puis arrête le pipeline. Vous ne pouvez pas choisir d'arrêter et d'attendre si l'exécution est déjà à l’état Stopping. Vous pouvez choisir d'arrêter et d'abandonner une exécution déjà à l’état Stopping.aws codepipeline stop-pipeline-execution \ --pipeline-name
MyFirstPipeline
\ --pipeline-execution-idd-EXAMPLE
\ --reason"Stopping pipeline after the build action is done"
Cette commande ne renvoie aucun résultat.
Pour plus d'informations, voir Arrêter l'exécution d'un pipeline (CLI) dans le guide de AWS CodePipeline l'utilisateur.
-
Pour API plus de détails, voir StopPipelineExecution
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisertag-resource
.
- AWS CLI
-
Pour étiqueter une ressource
L'
tag-resource
exemple suivant associe un ensemble de balises fournies à un pipeline. Utilisez cette commande pour ajouter ou modifier des balises.aws codepipeline tag-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
\ --tagskey=Project,value=ProjectA
key=IscontainerBased,value=true
Cette commande ne produit aucun résultat.
Pour plus d'informations, voir Ajouter des balises à un pipeline (CLI) dans le guide de AWS CodePipeline l'utilisateur.
-
Pour API plus de détails, voir TagResource
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliseruntag-resource
.
- AWS CLI
-
Pour supprimer des AWS balises d'une ressource de connexion
L'
untag-resource
exemple suivant supprime une balise de la ressource spécifiée.aws codepipeline untag-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
\ --tag-keysProject
IscontainerBased
Cette commande ne produit aucun résultat.
Pour plus d'informations, voir Supprimer les balises d'un pipeline (CLI) dans le guide de AWS CodePipeline l'utilisateur.
-
Pour API plus de détails, voir 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 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 UpdatePipeline
la section Référence des AWS CLI commandes.
-