Exemplos do CodePipeline usando a AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o CodePipeline.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar acknowledge-job.
- AWS CLI
-
Para recuperar informações sobre um trabalho
Este exemplo retorna informações sobre um trabalho especificado, incluindo o status desse trabalho, se ele existir. Isso é usado somente para trabalhadores e ações personalizadas. Para determinar o valor de nonce e o ID do trabalho, use o poll-for-jobs do aws codepipeline.
Comando:
aws codepipeline acknowledge-job --job-idf4f4ff82-2d11-EXAMPLE--nonce3Saída:
{ "status": "InProgress" }-
Para ver detalhes da API, consulte AcknowledgeJob
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar create-custom-action-type.
- AWS CLI
-
Para criar uma ação personalizada
Este exemplo cria uma ação personalizada para o AWS CodePipeline usando um arquivo JSON já criado (aqui chamado MyCustomAction.json) que contém a estrutura da ação personalizada. Para obter mais informações sobre os requisitos para criar uma ação personalizada, incluindo a estrutura do arquivo, consulte o Guia do usuário do AWS CodePipeline.
aws codepipeline create-custom-action-type --cli-input-jsonfile://MyCustomAction.jsonConteúdo do arquivo 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 } }Este comando retorna a estrutura da ação personalizada.
-
Para ver detalhes da API, consulte CreateCustomActionType
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar create-pipeline.
- AWS CLI
-
Para criar um pipeline
Este exemplo cria um pipeline no AWS CodePipeline usando um arquivo JSON já criado (aqui chamado MySecondPipeline.json) que contém a estrutura do pipeline. Para obter mais informações sobre os requisitos para criar um pipeline, incluindo a estrutura do arquivo, consulte o Guia do usuário do AWS CodePipeline.
Comando:
aws codepipeline create-pipeline --cli-input-jsonfile://MySecondPipeline.jsonConteúdo de amostra do arquivo JSON:
{ "pipeline": { "roleArn": "arn:aws:iam::111111111111:role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "awscodepipeline-demo-bucket", "S3ObjectKey": "aws-codepipeline-s3-aws-codedeploy_linux.zip" }, "runOrder": 1 } ] }, { "name": "Beta", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "CodePipelineDemoFleet", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-1-11EXAMPLE11" }, "name": "MySecondPipeline", "version": 1 } }Saída:
This command returns the structure of the pipeline.-
Para ver detalhes da API, consulte CreatePipeline
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar delete-custom-action-type.
- AWS CLI
-
Para excluir uma ação personalizada
Este exemplo exclui uma ação personalizada no AWS CodePipeline usando um arquivo JSON já criado (aqui chamado DeleteMyCustomAction.json) que contém o tipo de ação, o nome do provedor e o número da versão da ação a ser excluída. Use o comando list-action-types para visualizar os valores corretos para categoria, versão e provedor.
Comando:
aws codepipeline delete-custom-action-type --cli-input-jsonfile://DeleteMyCustomAction.jsonConteúdo de amostra do arquivo JSON:
{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }Saída:
None.-
Para ver detalhes da API, consulte DeleteCustomActionType
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar delete-pipeline.
- AWS CLI
-
Para excluir um pipeline
Este exemplo exclui um pipeline chamado MySecondPipeline do AWS CodePipeline. Use o comando list-pipelines para visualizar uma lista de pipelines associados à sua conta da AWS.
Comando:
aws codepipeline delete-pipeline --nameMySecondPipelineSaída:
None.-
Para ver detalhes da API, consulte DeletePipeline
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar delete-webhook.
- AWS CLI
-
Para excluir um webhook
O exemplo
delete-webhooka seguir exclui um webhook para uma ação de origem do GitHub versão 1. É necessário usar o comandoderegister-webhook-with-third-partypara cancelar o registro do webhook antes de excluí-lo.aws codepipeline delete-webhook \ --namemy-webhookEste comando não produz saída.
Para obter mais informações, consulte Excluir o webhook da sua origem do GitHub no Guia do usuário do AWS CodePipeline.
-
Para ver detalhes da API, consulte DeleteWebhook
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar deregister-webhook-with-third-party.
- AWS CLI
-
Como cancelar o registro de um webhook
O exemplo
deregister-webhook-with-third-partya seguir exclui um webhook para uma ação de origem do GitHub versão 1. É necessário cancelar o registro do webhook antes de excluí-lo.aws codepipeline deregister-webhook-with-third-party \ --webhook-namemy-webhookEste comando não produz saída.
Para obter mais informações, consulte Excluir o webhook da sua origem do GitHub no Guia do usuário do AWS CodePipeline.
-
Para ver detalhes da API, consulte DeregisterWebhookWithThirdParty
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar disable-stage-transition.
- AWS CLI
-
Como desativar uma transição para um estágio em um pipeline
Este exemplo desabilita as transições para o estágio Beta do pipeline MyFirstPipeline no AWS CodePipeline.
Comando:
aws codepipeline disable-stage-transition --pipeline-nameMyFirstPipeline--stage-nameBeta--transition-typeInboundSaída:
None.-
Para ver detalhes da API, consulte DisableStageTransition
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar enable-stage-transition.
- AWS CLI
-
Como permitir a transição para um estágio em um pipeline
Este exemplo habilita as transições para o estágio Beta do pipeline MyFirstPipeline no AWS CodePipeline.
Comando:
aws codepipeline enable-stage-transition --pipeline-nameMyFirstPipeline--stage-nameBeta--transition-typeInboundSaída:
None.-
Para ver detalhes da API, consulte EnableStageTransition
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar get-job-details.
- AWS CLI
-
Para obter detalhes de um trabalho
Este exemplo retorna detalhes sobre um trabalho cujo ID é representado por f4f4ff82-2d11-EXAMPLE. Esse comando é usado somente para ações personalizadas. Quando esse comando é chamado, o AWS CodePipeline retorna credenciais temporárias para o bucket do Amazon S3 usado para armazenar artefatos para o pipeline, se necessário para a ação personalizada. Esse comando também retornará quaisquer valores secretos definidos para a ação, se houver algum definido.
Comando:
aws codepipeline get-job-details --job-idf4f4ff82-2d11-EXAMPLESaída:
{ "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" } }-
Para ver detalhes da API, consulte GetJobDetails
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar get-pipeline-state.
- AWS CLI
-
Para obter informações sobre o estado de um pipeline
Esse exemplo retorna o estado mais recente de um pipeline chamado MyFirstPipeline.
Comando:
aws codepipeline get-pipeline-state --nameMyFirstPipelineSaída:
{ "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 }-
Para ver detalhes da API, consulte GetPipelineState
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar get-pipeline.
- AWS CLI
-
Como visualizar a estrutura de um pipeline
Este exemplo retorna a estrutura de um pipeline chamado MyFirstPipeline.
Comando:
aws codepipeline get-pipeline --nameMyFirstPipelineSaída:
{ "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 } }-
Para ver detalhes da API, consulte GetPipeline
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-action-executions.
- AWS CLI
-
Para listar as execuções de ações
O exemplo
list-action-executionsa seguir visualiza a ação para um pipeline, como o ID de execução da ação, os artefatos de entrada, os artefatos de saída, o resultado da execução e o status.aws codepipeline list-action-executions \ --pipeline-namemyPipelineSaída:
{ "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" } } }, . . . .Para obter mais informações, consulte Visualizar execuções de ações (CLI) no Guia do usuário do AWS CodePipeline.
-
Para ver detalhes da API, consulte ListActionExecutions
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-action-types.
- AWS CLI
-
Como ver os tipos de ação disponíveis
Se usado sozinho, o comando list-action-types retorna a estrutura de todas as ações disponíveis para sua conta da AWS. Este exemplo usa a opção --action-owner-filter para retornar somente ações personalizadas.
Comando:
aws codepipeline list-action-types --action-owner-filterCustomSaída:
{ "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}" } } ] }-
Para ver detalhes da API, consulte ListActionTypes
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-pipeline-executions.
- AWS CLI
-
Como visualizar o histórico de execução do pipeline
O exemplo
list-pipeline-executionsa seguir mostra o histórico de execução de um pipeline em sua conta da AWS.aws codepipeline list-pipeline-executions \ --pipeline-nameMyPipelineSaída:
{ "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" } ] }Para obter mais informações, consulte Visualizar histórico de execuções no Guia do usuário do AWS CodePipeline.
-
Para ver detalhes da API, consulte ListPipelineExecutions
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-pipelines.
- AWS CLI
-
Como visualizar uma lista de pipelines
Este exemplo lista todos os pipelines do AWS CodePipeline associados à conta do usuário da AWS.
Comando:
aws codepipeline list-pipelinesSaída:
{ "pipelines": [ { "updated": 1439504274.641, "version": 1, "name": "MyFirstPipeline", "created": 1439504274.641 }, { "updated": 1436461837.992, "version": 2, "name": "MySecondPipeline", "created": 1436460801.381 } ] }-
Para ver detalhes da API, consulte ListPipelines
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-tags-for-resource.
- AWS CLI
-
Para listar tags
O exemplo
list-tags-for-resourcea seguir recupera uma lista de todas as tags anexadas ao recurso do pipeline especificado.aws codepipeline list-tags-for-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipelineSaída:
{ "tags": { "Project": "ProjectA", "IscontainerBased": "true" } }Para obter mais informações, consulte Visualizar tags de um pipeline (CLI) no Guia do usuário do AWS CodePipeline.
-
Para obter detalhes sobre a API, consulte ListTagsForResource
na AWS CLI Command Reference.
-
O código de exemplo a seguir mostra como usar list-webhooks.
- AWS CLI
-
Para listar webhooks
O exemplo
list-webhooksa seguir recupera uma lista de todas as tags anexadas ao recurso do pipeline especificado.aws codepipeline list-webhooks \ --endpoint-url"https://codepipeline.eu-central-1.amazonaws.com"\ --region"eu-central-1"Saída:
{ "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" } ] }Para obter mais informações, consulte Listar webhooks em sua conta no Guia do usuário do AWS CodePipeline.
-
Para ver detalhes da API, consulte ListWebhooks
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar poll-for-jobs.
- AWS CLI
-
Como visualizar todos os trabalhos disponíveis
Este exemplo retorna informações sobre quaisquer trabalhos nos quais um funcionário possa atuar. Este exemplo usa um arquivo JSON predefinido (MyActionTypeInfo.json) para fornecer informações sobre o tipo de ação para o qual o funcionário processa trabalhos. Esse comando é usado somente para ações personalizadas. Quando esse comando é chamado, o AWS CodePipeline retorna credenciais temporárias para o bucket do Amazon S3 usado para armazenar artefatos para o pipeline. Esse comando também retornará quaisquer valores secretos definidos para a ação, se houver algum definido.
Comando:
aws codepipeline poll-for-jobs --cli-input-jsonfile://MyActionTypeInfo.jsonConteúdo de amostra do arquivo JSON:
{ "actionTypeId": { "category": "Test", "owner": "Custom", "provider": "MyJenkinsProviderName", "version": "1" }, "maxBatchSize": 5, "queryParam": { "ProjectName": "MyJenkinsTestProject" } }Saída:
{ "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" } ] }-
Para ver detalhes da API, consulte PollForJobs
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar put-webhook.
- AWS CLI
-
Para criar um webhook
O exemplo
put-webhooka seguir cria um webhook para uma ação de origem do GitHub versão 1. Depois de criar o webhook, você deve usar o comando register-webhook-with-third para registrá-lo.aws codepipeline put-webhook \ --cli-input-jsonfile://webhook_json.json\ --region"eu-central-1"Conteúdo 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" } } }Saída:
{ "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" } ] }Para obter mais informações, consulte Criar um webhook para uma origem do GitHub no Guia do usuário do AWS CodePipeline.
-
Para ver detalhes da API, consulte PutWebhook
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar retry-stage-execution.
- AWS CLI
-
Como tentar novamente uma ação com falha
O exemplo
retry-stage-executiona seguir repete um estágio que tem uma ação com falha.aws codepipeline retry-stage-execution \ --pipeline-nameMyPipeline\ --stage-nameDeploy\ --pipeline-execution-idb59babff-5f34-EXAMPLE\ --retry-modeFAILED_ACTIONSSaída:
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }Para obter mais informações, consulte Tentar novamente as ações com falha (CLI) no Guia do usuário do AWS CodePipeline.
-
Para ver detalhes da API, consulte RetryStageExecution
e Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar start-pipeline-execution.
- AWS CLI
-
Para executar a revisão mais recente por meio de um pipeline
Este exemplo executa a revisão mais recente presente no estágio de origem de um pipeline por meio do pipeline chamado “MyFirstPipeline”.
Comando:
aws codepipeline start-pipeline-execution --nameMyFirstPipelineSaída:
{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }-
Para obter detalhes a API, consulte StartPipelineExecution
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar stop-pipeline-execution.
- AWS CLI
-
Como interromper a execução de um pipeline
O exemplo
stop-pipeline-executiona seguir usa como padrão esperar até que as ações em andamento sejam concluídas e, em seguida, interrompa o pipeline. Não é possível optar por interromper e aguardar se a execução já estiver em um estado Stopping (Interrompendo). É possível optar por interromper e abandonar uma execução que já está em um estado Stopping (Interrompendo).aws codepipeline stop-pipeline-execution \ --pipeline-nameMyFirstPipeline\ --pipeline-execution-idd-EXAMPLE\ --reason"Stopping pipeline after the build action is done"Esse comando não retorna uma saída.
Para obter mais informações, consulte Interromper uma execução de pipeline (CLI) no Guia do usuário do AWS CodePipeline.
-
Para ver detalhes da API, consulte StopPipelineExecution
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar tag-resource.
- AWS CLI
-
Como marcar um recurso
O exemplo
tag-resourcea seguir associa um conjunto de tags fornecidas a um pipeline. Use esse comando para adicionar ou editar tags.aws codepipeline tag-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipeline\ --tagskey=Project,value=ProjectAkey=IscontainerBased,value=trueEste comando não produz saída.
Para obter mais informações, consulte Adicionar tags a um pipeline (CLI) no Guia do usuário do AWS CodePipeline.
-
Para obter detalhes da API, consulte TagResource
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar untag-resource.
- AWS CLI
-
Para remover tags da AWS de um recurso de conexões
O exemplo a seguir remove a tag com uma chave de
untag-resourcedo compartilhamento de recursos especificado.aws codepipeline untag-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipeline\ --tag-keysProjectIscontainerBasedEste comando não produz saída.
Para obter mais informações, consulte Remover tags de um pipeline (CLI) no Guia do usuário do AWS CodePipeline.
-
Para obter detalhes sobre a API, consulte UntagResource
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar update-pipeline.
- AWS CLI
-
Para atualizar a estrutura de um pipeline
Este exemplo usa o comando update-pipeline com o argumento --cli-input-json. Este exemplo usa um arquivo JSON predefinido (MyFirstPipeline.json) para atualizar a estrutura de um pipeline. AWS O CodePipeline reconhece o nome do pipeline contido no arquivo JSON e, em seguida, aplica todas as alterações dos campos modificados na estrutura do pipeline para atualizar o pipeline.
Use as diretrizes a seguir ao criar o arquivo JSON predefinido:
Se você estiver trabalhando com uma estrutura de pipeline recuperada usando o comando get-pipeline, deverá remover a seção de metadados da estrutura do pipeline no arquivo JSON (as linhas “metadata”: { } e os campos “created”, “pipelineARN” e “updated”). O nome do pipeline não pode ser alterado.
Comando:
aws codepipeline update-pipeline --cli-input-jsonfile://MyFirstPipeline.jsonAmostra de conteúdo do arquivo 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 } }Saída:
{ "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 } }-
Para ver detalhes da API, consulte UpdatePipeline
na Referência de comandos da AWS CLI.
-