CodePipeline ejemplos que utilizan AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

CodePipeline ejemplos que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS Command Line Interface with CodePipeline.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar acknowledge-job.

AWS CLI

Para recuperar información sobre un trabajo específico

En este ejemplo se devuelve información sobre un trabajo específico, incluido el estado de ese trabajo, si existe. Esto solo se usa para los trabajadores del trabajo y las acciones personalizadas. Para determinar el valor de nonce y el identificador del trabajo, utilice aws poll-for-jobs codepipeline.

Comando:

aws codepipeline acknowledge-job --job-id f4f4ff82-2d11-EXAMPLE --nonce 3

Salida:

{ "status": "InProgress" }
  • Para API obtener más información, consulte la Referencia AcknowledgeJobde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-custom-action-type.

AWS CLI

Para crear una acción personalizada

En este ejemplo, se crea una acción personalizada para AWS CodePipeline utilizar un JSON archivo ya creado (aquí denominado MyCustomAction .json) que contiene la estructura de la acción personalizada. Para obtener más información sobre los requisitos para crear una acción personalizada, incluida la estructura del archivo, consulte la Guía del AWS CodePipeline usuario.

aws codepipeline create-custom-action-type --cli-input-json file://MyCustomAction.json

Contenido del JSON archivoMyCustomAction.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 devuelve la estructura de la acción personalizada.

En el siguiente ejemplo de código se muestra cómo usar create-pipeline.

AWS CLI

Para crear una canalización

En este ejemplo, se crea una canalización AWS CodePipeline utilizando un JSON archivo ya creado (aquí denominado MySecondPipeline .json) que contiene la estructura de la canalización. Para obtener más información sobre los requisitos para crear una canalización, incluida la estructura del archivo, consulta la Guía del AWS CodePipeline usuario.

Comando:

aws codepipeline create-pipeline --cli-input-json file://MySecondPipeline.json

JSONcontenido de muestra del archivo:

{ "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 } }

Salida:

This command returns the structure of the pipeline.
  • Para API obtener más información, consulte CreatePipelinela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-custom-action-type.

AWS CLI

Para eliminar una acción personalizada

En este ejemplo, se elimina una acción personalizada AWS CodePipeline mediante un JSON archivo ya creado (aquí denominado DeleteMyCustomAction .json) que contiene el tipo de acción, el nombre del proveedor y el número de versión de la acción que se va a eliminar. Utilice el list-action-types comando para ver los valores correctos de la categoría, la versión y el proveedor.

Comando:

aws codepipeline delete-custom-action-type --cli-input-json file://DeleteMyCustomAction.json

JSONcontenido de ejemplo de archivo:

{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }

Salida:

None.

En el siguiente ejemplo de código se muestra cómo usar delete-pipeline.

AWS CLI

Para eliminar una canalización

En este ejemplo, se elimina una canalización cuyo nombre MySecondPipeline es. AWS CodePipeline Usa el comando list-pipelines para ver una lista de las canalizaciones asociadas a tu cuenta. AWS

Comando:

aws codepipeline delete-pipeline --name MySecondPipeline

Salida:

None.
  • Para obtener API más información, consulta la Referencia de comandos DeletePipeline.AWS CLI

En el siguiente ejemplo de código se muestra cómo usar delete-webhook.

AWS CLI

Para eliminar un webhook

En el siguiente delete-webhook ejemplo, se elimina un webhook para una acción fuente de la GitHub versión 1. Debes usar el deregister-webhook-with-third-party comando para anular el registro del webhook antes de eliminarlo.

aws codepipeline delete-webhook \ --name my-webhook

Este comando no genera ninguna salida.

Para obtener más información, consulte Eliminar el webhook de la GitHub fuente en la Guía del usuario.AWS CodePipeline

  • Para API obtener más información, consulte DeleteWebhookla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar deregister-webhook-with-third-party.

AWS CLI

Para anular el registro de un webhook

En el siguiente deregister-webhook-with-third-party ejemplo, se elimina un webhook para una GitHub acción de origen de la versión 1. Debe anular el registro del webhook antes de eliminarlo.

aws codepipeline deregister-webhook-with-third-party \ --webhook-name my-webhook

Este comando no genera ninguna salida.

Para obtener más información, consulte Eliminar el webhook de la GitHub fuente en la Guía del AWS CodePipeline usuario.

En el siguiente ejemplo de código se muestra cómo usar disable-stage-transition.

AWS CLI

Para deshabilitar la transición a una etapa de una canalización

En este ejemplo, se deshabilitan las transiciones a la fase beta de la MyFirstPipeline canalización en AWS CodePipeline.

Comando:

aws codepipeline disable-stage-transition --pipeline-name MyFirstPipeline --stage-name Beta --transition-type Inbound

Salida:

None.

En el siguiente ejemplo de código se muestra cómo usar enable-stage-transition.

AWS CLI

Para permitir la transición a una etapa de una canalización

En este ejemplo, se permiten las transiciones a la fase beta de la MyFirstPipeline canalización en AWS CodePipeline.

Comando:

aws codepipeline enable-stage-transition --pipeline-name MyFirstPipeline --stage-name Beta --transition-type Inbound

Salida:

None.

En el siguiente ejemplo de código se muestra cómo usar get-job-details.

AWS CLI

Para obtener detalles de un trabajo

Este ejemplo devuelve detalles sobre un trabajo cuyo identificador está representado por f4f4ff82-2d11-. EXAMPLE Este comando solo se usa para acciones personalizadas. Cuando se llama a este comando, AWS CodePipeline devuelve las credenciales temporales del bucket de Amazon S3 que se utiliza para almacenar los artefactos de la canalización, si es necesario para la acción personalizada. Este comando también devolverá cualquier valor secreto definido para la acción, si se ha definido alguno.

Comando:

aws codepipeline get-job-details --job-id f4f4ff82-2d11-EXAMPLE

Salida:

{ "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 obtener más información, consulte GetJobDetailsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-pipeline-state.

AWS CLI

Para obtener información sobre el estado de una tubería

En este ejemplo se devuelve el estado más reciente de una canalización denominada MyFirstPipeline.

Comando:

aws codepipeline get-pipeline-state --name MyFirstPipeline

Salida:

{ "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 obtener más información, consulte GetPipelineStatela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-pipeline.

AWS CLI

Para ver la estructura de una tubería

En este ejemplo se devuelve la estructura de una canalización denominada MyFirstPipeline.

Comando:

aws codepipeline get-pipeline --name MyFirstPipeline

Salida:

{ "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 obtener más información, consulte GetPipelinela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-action-executions.

AWS CLI

Para enumerar las ejecuciones de acciones

En el siguiente list-action-executions ejemplo, se muestran los detalles de la ejecución de acciones de una canalización, como el identificador de ejecución de la acción, los artefactos de entrada, los artefactos de salida, el resultado de la ejecución y el estado.

aws codepipeline list-action-executions \ --pipeline-name myPipeline

Salida:

{ "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 obtener más información, consulte Ver las ejecuciones de acciones (CLI) en la Guía del AWS CodePipeline usuario.

  • Para API obtener más información, consulte ListActionExecutionsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-action-types.

AWS CLI

Para ver los tipos de acciones disponibles

Si se usa solo, el list-action-types comando devuelve la estructura de todas las acciones disponibles en su AWS cuenta. En este ejemplo, se utiliza la action-owner-filter opción -- para devolver solo las acciones personalizadas.

Comando:

aws codepipeline list-action-types --action-owner-filter Custom

Salida:

{ "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 obtener más información, consulte ListActionTypesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-pipeline-executions.

AWS CLI

Para ver el historial de ejecución de la canalización

En el siguiente list-pipeline-executions ejemplo, se muestra el historial de ejecución de una canalización de tu AWS cuenta.

aws codepipeline list-pipeline-executions \ --pipeline-name MyPipeline

Salida:

{ "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 obtener más información, consulta Ver el historial de ejecuciones en la Guía del AWS CodePipeline usuario.

En el siguiente ejemplo de código se muestra cómo usar list-pipelines.

AWS CLI

Para ver una lista de canalizaciones

En este ejemplo, se enumeran todas AWS CodePipeline las canalizaciones asociadas a la cuenta del AWS usuario.

Comando:

aws codepipeline list-pipelines

Salida:

{ "pipelines": [ { "updated": 1439504274.641, "version": 1, "name": "MyFirstPipeline", "created": 1439504274.641 }, { "updated": 1436461837.992, "version": 2, "name": "MySecondPipeline", "created": 1436460801.381 } ] }
  • Para API obtener más información, consulte ListPipelinesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-tags-for-resource.

AWS CLI

Para enumerar las etiquetas

En el siguiente list-tags-for-resource ejemplo, se recupera una lista de todas las etiquetas adjuntas al recurso de canalización especificado.

aws codepipeline list-tags-for-resource \ --resource-arn arn:aws:codepipeline:us-east-1:123456789012:MyPipeline

Salida:

{ "tags": { "Project": "ProjectA", "IscontainerBased": "true" } }

Para obtener más información, consulte Ver las etiquetas de una canalización (CLI) en la Guía del AWS CodePipeline usuario.

  • Para API obtener más información, consulte ListTagsForResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-webhooks.

AWS CLI

Para enumerar los webhooks

En el siguiente list-webhooks ejemplo, se recupera una lista de todas las etiquetas adjuntas al recurso de canalización especificado.

aws codepipeline list-webhooks \ --endpoint-url "https://codepipeline.eu-central-1.amazonaws.com" \ --region "eu-central-1"

Salida:

{ "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 obtener más información, consulta la sección Lista los webhooks de tu cuenta en la Guía del AWS CodePipeline usuario.

  • Para API obtener más información, consulte ListWebhooksla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar poll-for-jobs.

AWS CLI

Para ver los trabajos disponibles

Este ejemplo devuelve información sobre cualquier trabajo en el que pueda actuar un trabajador. En este ejemplo, se utiliza un JSON archivo predefinido (MyActionTypeInfo.json) para proporcionar información sobre el tipo de acción para el que el trabajador procesa los trabajos. Este comando solo se usa para acciones personalizadas. Cuando se invoca este comando, AWS CodePipeline devuelve las credenciales temporales del bucket de Amazon S3 que se utiliza para almacenar los artefactos de la canalización. Este comando también devolverá los valores secretos definidos para la acción, si los hay.

Comando:

aws codepipeline poll-for-jobs --cli-input-json file://MyActionTypeInfo.json

JSONcontenido de ejemplo de archivo:

{ "actionTypeId": { "category": "Test", "owner": "Custom", "provider": "MyJenkinsProviderName", "version": "1" }, "maxBatchSize": 5, "queryParam": { "ProjectName": "MyJenkinsTestProject" } }

Salida:

{ "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 obtener más información, consulte PollForJobsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar put-webhook.

AWS CLI

Para crear un webhook

En el siguiente put-webhook ejemplo, se crea un webhook para una acción fuente de GitHub la versión 1. Tras crear el webhook, debe utilizar el comando register-webhook-with-third -party para registrarlo.

aws codepipeline put-webhook \ --cli-input-json file://webhook_json.json \ --region "eu-central-1"

Contenidos 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" } } }

Salida:

{ "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 obtener más información, consulte Crear un webhook para una GitHub fuente en la Guía del AWS CodePipeline usuario.

  • Para API obtener más información, consulte PutWebhookla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar retry-stage-execution.

AWS CLI

Para volver a intentar una acción fallida

En el siguiente retry-stage-execution ejemplo, se vuelve a intentar una etapa en la que se ha producido un error en la acción.

aws codepipeline retry-stage-execution \ --pipeline-name MyPipeline \ --stage-name Deploy \ --pipeline-execution-id b59babff-5f34-EXAMPLE \ --retry-mode FAILED_ACTIONS

Salida:

{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }

Para obtener más información, consulte Reintentar las acciones fallidas (CLI) en la Guía del AWS CodePipeline usuario.

  • Para API obtener más información, consulte RetryStageExecutionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar start-pipeline-execution.

AWS CLI

Para ejecutar la última revisión a través de una canalización

En este ejemplo, se ejecuta la última revisión presente en la fase de origen de una canalización a través de la canalización denominada "MyFirstPipeline».

Comando:

aws codepipeline start-pipeline-execution --name MyFirstPipeline

Salida:

{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }

En el siguiente ejemplo de código se muestra cómo usar stop-pipeline-execution.

AWS CLI

Para detener la ejecución de una canalización

En el siguiente stop-pipeline-execution ejemplo, por defecto, se espera hasta que finalicen las acciones en curso y, a continuación, se detiene la canalización. No puede elegir detener y esperar si la ejecución ya se encuentra en un estado Stopping (Deteniéndose). Puede optar por detener y abandonar una ejecución que ya se encuentra en un estado Stopping (Deteniéndose).

aws codepipeline stop-pipeline-execution \ --pipeline-name MyFirstPipeline \ --pipeline-execution-id d-EXAMPLE \ --reason "Stopping pipeline after the build action is done"

Este comando no devuelve ningún resultado.

Para obtener más información, consulte Detener la ejecución de una canalización (CLI) en la Guía del AWS CodePipeline usuario.

En el siguiente ejemplo de código se muestra cómo usar tag-resource.

AWS CLI

Para etiquetar un recurso

El siguiente tag-resource ejemplo asocia un conjunto de etiquetas proporcionadas a una canalización. Utilice este comando para añadir o editar etiquetas.

aws codepipeline tag-resource \ --resource-arn arn:aws:codepipeline:us-east-1:123456789012:MyPipeline \ --tags key=Project,value=ProjectA key=IscontainerBased,value=true

Este comando no genera ninguna salida.

Para obtener más información, consulte Añadir etiquetas a una canalización (CLI) en la Guía del AWS CodePipeline usuario.

  • Para API obtener más información, consulte TagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar untag-resource.

AWS CLI

Para eliminar AWS etiquetas de un recurso de conexiones

En el siguiente untag-resource ejemplo, se elimina una etiqueta del recurso especificado.

aws codepipeline untag-resource \ --resource-arn arn:aws:codepipeline:us-east-1:123456789012:MyPipeline \ --tag-keys Project IscontainerBased

Este comando no genera ninguna salida.

Para obtener más información, consulte Eliminar etiquetas de una canalización (CLI) en la Guía del AWS CodePipeline usuario.

  • Para API obtener más información, consulte UntagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-pipeline.

AWS CLI

Para actualizar la estructura de una tubería

En este ejemplo, se utiliza el comando update-pipeline con el argumento --. cli-input-json En este ejemplo, se usa un JSON archivo predefinido (MyFirstPipeline.json) para actualizar la estructura de una canalización. AWS CodePipeline reconoce el nombre de la canalización contenido en el JSON archivo y, a continuación, aplica cualquier cambio de los campos modificados de la estructura de la canalización para actualizarla.

Utilice las siguientes pautas al crear el JSON archivo predefinido:

Si está trabajando con una estructura de canalización recuperada mediante el comando get-pipeline, debe eliminar la sección de metadatos de la estructura de canalización del JSON archivo (los «metadatos»: {} líneas y los campos «creado», «ARNcanalización» y «actualizado» que contienen). El nombre de la canalización no se puede cambiar.

Comando:

aws codepipeline update-pipeline --cli-input-json file://MyFirstPipeline.json

Contenido del JSON archivo de muestra:

{ "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 } }

Salida:

{ "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 obtener más información, consulte UpdatePipelinela Referencia de AWS CLI comandos.