Esta documentação é para a AWS CLI única versão 1. Para obter a documentação relacionada à versão 2 do AWS CLI, consulte o Guia do usuário da versão 2.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
CodePipeline exemplos usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface with 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 funções 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, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.
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 especificado
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 aws poll-for-jobs codepipeline.
Comando:
aws codepipeline acknowledge-job --job-id
f4f4ff82-2d11-EXAMPLE
--nonce3
Saída:
{ "status": "InProgress" }
-
Para API obter detalhes, consulte AcknowledgeJob
na Referência de AWS CLI Comandos.
-
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 AWS CodePipeline usar um JSON arquivo já criado (aqui denominado 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 AWS CodePipeline do usuário.
aws codepipeline create-custom-action-type --cli-input-json
file://MyCustomAction.json
Conteúdo do JSON arquivo
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 } }
Esse comando retorna a estrutura da ação personalizada.
-
Para API obter detalhes, consulte CreateCustomActionType
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar create-pipeline
.
- AWS CLI
-
Para criar um pipeline
Este exemplo cria um pipeline AWS CodePipeline usando um JSON arquivo já criado (aqui denominado 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 AWS CodePipeline do usuário.
Comando:
aws codepipeline create-pipeline --cli-input-json
file://MySecondPipeline.json
JSONconteúdo de amostra do arquivo:
{ "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 API obter detalhes, consulte CreatePipeline
na Referência de AWS CLI Comandos.
-
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 AWS CodePipeline usando um JSON arquivo 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 list-action-types comando para visualizar os valores corretos para categoria, versão e provedor.
Comando:
aws codepipeline delete-custom-action-type --cli-input-json
file://DeleteMyCustomAction.json
JSONconteúdo de amostra do arquivo:
{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }
Saída:
None.
-
Para API obter detalhes, consulte DeleteCustomActionType
na Referência de AWS CLI Comandos.
-
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 de AWS CodePipeline. Use o comando list-pipelines para ver uma lista de pipelines associados à sua conta. AWS
Comando:
aws codepipeline delete-pipeline --name
MySecondPipeline
Saída:
None.
-
Para API obter detalhes, consulte DeletePipeline
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-webhook
.
- AWS CLI
-
Para excluir um webhook
O
delete-webhook
exemplo a seguir exclui um webhook para uma ação de origem da GitHub versão 1. Você deve usar oderegister-webhook-with-third-party
comando para cancelar o registro do webhook antes de excluí-lo.aws codepipeline delete-webhook \ --name
my-webhook
Este comando não produz saída.
Para obter mais informações, consulte Excluir o webhook da sua GitHub fonte no Guia do AWS CodePipeline usuário.
-
Para API obter detalhes, consulte DeleteWebhook
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar deregister-webhook-with-third-party
.
- AWS CLI
-
Para cancelar o registro de um webhook
O
deregister-webhook-with-third-party
exemplo a seguir exclui um webhook para uma ação de origem da GitHub versão 1. É necessário cancelar o registro do webhook antes de excluí-lo.aws codepipeline deregister-webhook-with-third-party \ --webhook-name
my-webhook
Este comando não produz saída.
Para obter mais informações, consulte Excluir o webhook da sua GitHub fonte no Guia do AWS CodePipeline usuário.
-
Para API obter detalhes, consulte DeregisterWebhookWithThirdParty
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar disable-stage-transition
.
- AWS CLI
-
Para desativar uma transição para um estágio em um pipeline
Este exemplo desativa as transições para o estágio Beta do MyFirstPipeline pipeline em. AWS CodePipeline
Comando:
aws codepipeline disable-stage-transition --pipeline-name
MyFirstPipeline
--stage-nameBeta
--transition-typeInbound
Saída:
None.
-
Para API obter detalhes, consulte DisableStageTransition
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar enable-stage-transition
.
- AWS CLI
-
Para permitir a transição para um estágio em um pipeline
Este exemplo permite transições para o estágio Beta do MyFirstPipeline pipeline em AWS CodePipeline.
Comando:
aws codepipeline enable-stage-transition --pipeline-name
MyFirstPipeline
--stage-nameBeta
--transition-typeInbound
Saída:
None.
-
Para API obter detalhes, consulte EnableStageTransition
na Referência de AWS CLI Comandos.
-
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, AWS CodePipeline retorna credenciais temporárias para o bucket 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-id
f4f4ff82-2d11-EXAMPLE
Saí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 API obter detalhes, consulte GetJobDetails
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-pipeline-state
.
- AWS CLI
-
Para obter informações sobre o estado de um gasoduto
Este exemplo retorna o estado mais recente de um pipeline chamado MyFirstPipeline.
Comando:
aws codepipeline get-pipeline-state --name
MyFirstPipeline
Saí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 API obter detalhes, consulte GetPipelineState
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-pipeline
.
- AWS CLI
-
Para visualizar a estrutura de um pipeline
Este exemplo retorna a estrutura de um pipeline chamado MyFirstPipeline.
Comando:
aws codepipeline get-pipeline --name
MyFirstPipeline
Saí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 API obter detalhes, consulte GetPipeline
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-action-executions
.
- AWS CLI
-
Para listar as execuções de ações
O
list-action-executions
exemplo a seguir mostra os detalhes da execução da ação de um pipeline, como ID de execução da ação, artefatos de entrada, artefatos de saída, resultado da execução e status.aws codepipeline list-action-executions \ --pipeline-name
myPipeline
Saí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": "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" } } }, . . . .
Para obter mais informações, consulte Exibir execuções de ações (CLI) no Guia do AWS CodePipeline usuário.
-
Para API obter detalhes, consulte ListActionExecutions
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-action-types
.
- AWS CLI
-
Para ver os tipos de ação disponíveis
Usado sozinho, o list-action-types comando retorna a estrutura de todas as ações disponíveis para sua AWS conta. Este exemplo usa a action-owner-filter opção -- para retornar somente ações personalizadas.
Comando:
aws codepipeline list-action-types --action-owner-filter
Custom
Saí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 API obter detalhes, consulte ListActionTypes
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-pipeline-executions
.
- AWS CLI
-
Para ver o histórico de execução do pipeline
O
list-pipeline-executions
exemplo a seguir mostra o histórico de execução de um funil em sua AWS conta.aws codepipeline list-pipeline-executions \ --pipeline-name
MyPipeline
Saí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 Exibir histórico de execução no Guia AWS CodePipeline do usuário.
-
Para API obter detalhes, consulte ListPipelineExecutions
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-pipelines
.
- AWS CLI
-
Para ver uma lista de pipelines
Este exemplo lista todos os AWS CodePipeline pipelines associados à AWS conta do usuário.
Comando:
aws codepipeline list-pipelines
Saída:
{ "pipelines": [ { "updated": 1439504274.641, "version": 1, "name": "MyFirstPipeline", "created": 1439504274.641 }, { "updated": 1436461837.992, "version": 2, "name": "MySecondPipeline", "created": 1436460801.381 } ] }
-
Para API obter detalhes, consulte ListPipelines
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-tags-for-resource
.
- AWS CLI
-
Para listar tags
O
list-tags-for-resource
exemplo a seguir recupera uma lista de todas as tags anexadas ao recurso de pipeline especificado.aws codepipeline list-tags-for-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
Saída:
{ "tags": { "Project": "ProjectA", "IscontainerBased": "true" } }
Para obter mais informações, consulte Exibir tags de um pipeline (CLI) no Guia AWS CodePipeline do usuário.
-
Para API obter detalhes, consulte ListTagsForResource
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-webhooks
.
- AWS CLI
-
Para listar webhooks
O
list-webhooks
exemplo a seguir recupera uma lista de todas as tags anexadas ao recurso de 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 AWS CodePipeline usuário.
-
Para API obter detalhes, consulte ListWebhooks
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar poll-for-jobs
.
- AWS CLI
-
Para ver todas as vagas disponíveis
Este exemplo retorna informações sobre quaisquer trabalhos nos quais um funcionário possa atuar. Este exemplo usa um JSON arquivo 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, AWS CodePipeline retorna credenciais temporárias para o bucket 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-json
file://MyActionTypeInfo.json
JSONconteúdo de amostra do arquivo:
{ "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 API obter detalhes, consulte PollForJobs
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-webhook
.
- AWS CLI
-
Para criar um webhook
O
put-webhook
exemplo a seguir cria um webhook para uma ação de origem da GitHub versão 1. Depois de criar o webhook, você deve usar o comando register-webhook-with-third -party para registrá-lo.aws codepipeline put-webhook \ --cli-input-json
file://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 GitHub fonte no Guia do AWS CodePipeline usuário.
-
Para API obter detalhes, consulte PutWebhook
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar retry-stage-execution
.
- AWS CLI
-
Para tentar novamente uma ação com falha
O
retry-stage-execution
exemplo a seguir repete um estágio com falha na ação.aws codepipeline retry-stage-execution \ --pipeline-name
MyPipeline
\ --stage-nameDeploy
\ --pipeline-execution-idb59babff-5f34-EXAMPLE
\ --retry-modeFAILED_ACTIONS
Saída:
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }
Para obter mais informações, consulte Repetir ações com falha (CLI) no Guia do AWS CodePipeline usuário.
-
Para API obter detalhes, consulte RetryStageExecution
na Referência de AWS CLI Comandos.
-
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 --name
MyFirstPipeline
Saída:
{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }
-
Para API obter detalhes, consulte StartPipelineExecution
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar stop-pipeline-execution
.
- AWS CLI
-
Para interromper a execução de um pipeline
O
stop-pipeline-execution
exemplo a 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-name
MyFirstPipeline
\ --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 a execução de um pipeline (CLI) no Guia AWS CodePipeline do usuário.
-
Para API obter detalhes, consulte StopPipelineExecution
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar tag-resource
.
- AWS CLI
-
Para marcar um recurso
O
tag-resource
exemplo a seguir associa um conjunto de tags fornecidas a um pipeline. Use esse comando para adicionar ou editar tags.aws codepipeline tag-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
\ --tagskey=Project,value=ProjectA
key=IscontainerBased,value=true
Este comando não produz saída.
Para obter mais informações, consulte Adicionar tags a um pipeline (CLI) no Guia do AWS CodePipeline usuário.
-
Para API obter detalhes, consulte TagResource
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar untag-resource
.
- AWS CLI
-
Para remover AWS tags de um recurso de conexões
O
untag-resource
exemplo a seguir remove uma tag do recurso especificado.aws codepipeline untag-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
\ --tag-keysProject
IscontainerBased
Este comando não produz saída.
Para obter mais informações, consulte Remover tags de um pipeline (CLI) no Guia AWS CodePipeline do usuário.
-
Para API obter detalhes, consulte UntagResource
na Referência de AWS CLI Comandos.
-
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 JSON arquivo predefinido (MyFirstPipeline.json) para atualizar a estrutura de um pipeline. AWS CodePipeline reconhece o nome do pipeline contido no JSON arquivo 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 JSON arquivo 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 de pipeline no JSON arquivo (as linhas “metadados”: {} e os campos “criado”, “pipelineARN” e “atualizado”). O nome do pipeline não pode ser alterado.
Comando:
aws codepipeline update-pipeline --cli-input-json
file://MyFirstPipeline.json
Conteúdo JSON do arquivo de amostra:
{ "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 API obter detalhes, consulte UpdatePipeline
na Referência de AWS CLI Comandos.
-