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.
Temas
Acciones
En el siguiente ejemplo de código se muestra cómo usarloacknowledge-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
--nonce3
Salida:
{ "status": "InProgress" }
-
Para API obtener más información, consulte la Referencia AcknowledgeJob
de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlocreate-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 archivo
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 devuelve la estructura de la acción personalizada.
-
Para API obtener más información, consulte CreateCustomActionType
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlocreate-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 CreatePipeline
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodelete-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.
-
Para API obtener más información, consulte DeleteCustomActionType
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodelete-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
-
El siguiente ejemplo de código muestra cómo usarlodelete-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 elderegister-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 DeleteWebhook
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloderegister-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 fuente 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.
-
Para API obtener más información, consulte DeregisterWebhookWithThirdParty
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodisable-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-nameBeta
--transition-typeInbound
Salida:
None.
-
Para API obtener más información, consulte DisableStageTransition
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloenable-stage-transition
.
- AWS CLI
-
Para habilitar 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-nameBeta
--transition-typeInbound
Salida:
None.
-
Para API obtener más información, consulte EnableStageTransition
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloget-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 GetJobDetails
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloget-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 GetPipelineState
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloget-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 GetPipeline
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolist-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 ListActionExecutions
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolist-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 ListActionTypes
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolist-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.
-
Para API obtener más información, consulte ListPipelineExecutions
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolist-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 ListPipelines
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolist-tags-for-resource
.
- AWS CLI
-
Para enumerar 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 ListTagsForResource
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolist-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 ListWebhooks
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlopoll-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 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. 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 PollForJobs
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloput-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 PutWebhook
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloretry-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-nameDeploy
\ --pipeline-execution-idb59babff-5f34-EXAMPLE
\ --retry-modeFAILED_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 RetryStageExecution
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlostart-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" }
-
Para API obtener más información, consulte StartPipelineExecution
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlostop-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-idd-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.
-
Para API obtener más información, consulte StopPipelineExecution
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlotag-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
\ --tagskey=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 TagResource
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlountag-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-keysProject
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 UntagResource
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloupdate-pipeline
.
- AWS CLI
-
Para actualizar la estructura de una canalización
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 UpdatePipeline
la Referencia de AWS CLI comandos.
-