CodePipeline esempi che utilizzano AWS CLI - Esempi di codice dell'AWS SDK

Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples GitHub .

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CodePipeline esempi che utilizzano AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with CodePipeline.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Mentre le azioni mostrano come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareacknowledge-job.

AWS CLI

Per recuperare informazioni su un lavoro specifico

Questo esempio restituisce informazioni su un lavoro specifico, incluso lo stato di quel lavoro, se esiste. Viene utilizzato solo per gli addetti ai lavori e le azioni personalizzate. Per determinare il valore di nonce e l'ID del lavoro, usa aws poll-for-jobs codepipeline.

Comando:

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

Output:

{ "status": "InProgress" }
  • Per API i dettagli, vedere AcknowledgeJobin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarecreate-custom-action-type.

AWS CLI

Per creare un'azione personalizzata

Questo esempio crea un'azione personalizzata per AWS CodePipeline l'utilizzo di un JSON file già creato (qui denominato MyCustomAction .json) che contiene la struttura dell'azione personalizzata. Per ulteriori informazioni sui requisiti per la creazione di un'azione personalizzata, inclusa la struttura del file, consulta la Guida per l'utente. AWS CodePipeline

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

Contenuto del JSON fileMyCustomAction.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 } }

Questo comando restituisce la struttura dell'azione personalizzata.

Il seguente esempio di codice mostra come utilizzarecreate-pipeline.

AWS CLI

Per creare una pipeline

Questo esempio crea una pipeline AWS CodePipeline utilizzando un JSON file già creato (qui denominato MySecondPipeline .json) che contiene la struttura della pipeline. Per ulteriori informazioni sui requisiti per la creazione di una pipeline, inclusa la struttura del file, consulta la Guida per l'utente. AWS CodePipeline

Comando:

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

JSONcontenuti di esempio del file:

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

Output:

This command returns the structure of the pipeline.
  • Per API i dettagli, vedere CreatePipelinein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredelete-custom-action-type.

AWS CLI

Per eliminare un'azione personalizzata

Questo esempio elimina un'azione personalizzata AWS CodePipeline utilizzando un JSON file già creato (qui denominato DeleteMyCustomAction .json) che contiene il tipo di azione, il nome del provider e il numero di versione dell'azione da eliminare. Utilizzate il list-action-types comando per visualizzare i valori corretti per categoria, versione e provider.

Comando:

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

JSONcontenuto di esempio del file:

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

Output:

None.

Il seguente esempio di codice mostra come utilizzaredelete-pipeline.

AWS CLI

Per eliminare una pipeline

Questo esempio elimina una tubazione denominata from. MySecondPipeline AWS CodePipeline Utilizzate il comando list-pipelines per visualizzare un elenco di pipeline associate al vostro account. AWS

Comando:

aws codepipeline delete-pipeline --name MySecondPipeline

Output:

None.
  • Per i API dettagli, vedere DeletePipelinein Command Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzaredelete-webhook.

AWS CLI

Per eliminare un webhook

L'delete-webhookesempio seguente elimina un webhook per un'azione di origine della GitHub versione 1. È necessario utilizzare il deregister-webhook-with-third-party comando per annullare la registrazione del webhook prima di eliminarlo.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Eliminare il webhook dalla GitHub fonte nella Guida per l'utente.AWS CodePipeline

  • Per API i dettagli, vedere DeleteWebhookin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarederegister-webhook-with-third-party.

AWS CLI

Per annullare la registrazione di un webhook

L'deregister-webhook-with-third-partyesempio seguente elimina un webhook per un'azione di origine della versione 1. GitHub Prima di eliminare il webhook, devi annullarne la registrazione.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Eliminare il webhook dalla GitHub fonte nella Guida per l'AWS CodePipeline utente.

Il seguente esempio di codice mostra come utilizzaredisable-stage-transition.

AWS CLI

Per disabilitare una transizione verso una fase di una pipeline

Questo esempio disabilita le transizioni allo stadio Beta della MyFirstPipeline pipeline in. AWS CodePipeline

Comando:

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

Output:

None.

Il seguente esempio di codice mostra come utilizzareenable-stage-transition.

AWS CLI

Per abilitare la transizione verso una fase di una pipeline

Questo esempio abilita le transizioni allo stadio Beta della MyFirstPipeline pipeline in. AWS CodePipeline

Comando:

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

Output:

None.

Il seguente esempio di codice mostra come utilizzareget-job-details.

AWS CLI

Per ottenere i dettagli di un lavoro

Questo esempio restituisce dettagli su un lavoro il cui ID è rappresentato da f4f4ff82-2d11-. EXAMPLE Questo comando viene utilizzato solo per azioni personalizzate. Quando viene chiamato questo comando, AWS CodePipeline restituisce le credenziali temporanee per il bucket Amazon S3 utilizzato per archiviare gli artefatti per la pipeline, se necessario per l'azione personalizzata. Questo comando restituirà anche tutti i valori segreti definiti per l'azione, se ne sono definiti.

Comando:

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

Output:

{ "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" } }
  • Per API i dettagli, vedere GetJobDetailsin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareget-pipeline-state.

AWS CLI

Per ottenere informazioni sullo stato di una pipeline

Questo esempio restituisce lo stato più recente di una pipeline denominata. MyFirstPipeline

Comando:

aws codepipeline get-pipeline-state --name MyFirstPipeline

Output:

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

Il seguente esempio di codice mostra come utilizzareget-pipeline.

AWS CLI

Per visualizzare la struttura di una pipeline

Questo esempio restituisce la struttura di una tubazione denominata. MyFirstPipeline

Comando:

aws codepipeline get-pipeline --name MyFirstPipeline

Output:

{ "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 } }
  • Per API i dettagli, vedere GetPipelinein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-action-executions.

AWS CLI

Per elencare le esecuzioni di azioni

L'list-action-executionsesempio seguente visualizza i dettagli di esecuzione dell'azione per una pipeline, come l'ID di esecuzione dell'azione, gli artefatti di input, gli artefatti di output, il risultato dell'esecuzione e lo stato.

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

Output:

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

Per ulteriori informazioni, vedete View action executions () CLI nella Guida per l'utente.AWS CodePipeline

Il seguente esempio di codice mostra come utilizzarelist-action-types.

AWS CLI

Per visualizzare i tipi di azione disponibili

Utilizzato da solo, il list-action-types comando restituisce la struttura di tutte le azioni disponibili per l' AWS account. Questo esempio utilizza l'action-owner-filter opzione -- per restituire solo azioni personalizzate.

Comando:

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

Output:

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

Il seguente esempio di codice mostra come utilizzarelist-pipeline-executions.

AWS CLI

Per visualizzare la cronologia di esecuzione della pipeline

L'list-pipeline-executionsesempio seguente mostra la cronologia di esecuzione di una pipeline nel tuo account. AWS

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

Output:

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

Per ulteriori informazioni, consulta Visualizza la cronologia di esecuzione nella Guida per l'AWS CodePipeline utente.

Il seguente esempio di codice mostra come utilizzarelist-pipelines.

AWS CLI

Per visualizzare un elenco di condotte

Questo esempio elenca tutte le AWS CodePipeline pipeline associate all'account dell' AWS utente.

Comando:

aws codepipeline list-pipelines

Output:

{ "pipelines": [ { "updated": 1439504274.641, "version": 1, "name": "MyFirstPipeline", "created": 1439504274.641 }, { "updated": 1436461837.992, "version": 2, "name": "MySecondPipeline", "created": 1436460801.381 } ] }
  • Per API i dettagli, vedere ListPipelinesin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.

AWS CLI

Per elencare i tag

L'list-tags-for-resourceesempio seguente recupera un elenco di tutti i tag allegati alla risorsa pipeline specificata.

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

Output:

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

Per ulteriori informazioni, vedete View tags for a pipeline (CLI) nella Guida per l'AWS CodePipeline utente.

Il seguente esempio di codice mostra come utilizzarelist-webhooks.

AWS CLI

Per elencare i webhook

L'list-webhooksesempio seguente recupera un elenco di tutti i tag allegati alla risorsa pipeline specificata.

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

Output:

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

Per ulteriori informazioni, consulta Elenca i webhook presenti nel tuo account nella Guida per l'utente.AWS CodePipeline

  • Per API i dettagli, vedere ListWebhooksin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarepoll-for-jobs.

AWS CLI

Per visualizzare tutte le offerte di lavoro disponibili

Questo esempio restituisce informazioni su qualsiasi mansione su cui un lavoratore può agire. Questo esempio utilizza un JSON file predefinito (MyActionTypeInfo.json) per fornire informazioni sul tipo di azione per cui il job worker elabora i job. Questo comando viene utilizzato solo per azioni personalizzate. Quando viene chiamato questo comando, AWS CodePipeline restituisce le credenziali temporanee per il bucket Amazon S3 utilizzato per archiviare gli artefatti per la pipeline. Questo comando restituirà anche tutti i valori segreti definiti per l'azione, se ne sono definiti.

Comando:

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

JSONcontenuto di esempio del file:

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

Output:

{ "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" } ] }
  • Per API i dettagli, vedere PollForJobsin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareput-webhook.

AWS CLI

Per creare un webhook

L'put-webhookesempio seguente crea un webhook per un'azione di origine della GitHub versione 1. Dopo aver creato il webhook, è necessario utilizzare il comando register-webhook-with-third -party per registrarlo.

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

Contenuto di 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" } } }

Output:

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

Per ulteriori informazioni, consulta Creare un webhook per una GitHub fonte nella Guida per l'AWS CodePipeline utente.

  • Per API i dettagli, vedere PutWebhookin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareretry-stage-execution.

AWS CLI

Per riprovare un'azione fallita

L'retry-stage-executionesempio seguente riprova una fase in cui è stata eseguita un'azione fallita.

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

Output:

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

Per ulteriori informazioni, consulta Retry failed actions (CLI) nella Guida per l'AWS CodePipeline utente.

Il seguente esempio di codice mostra come utilizzarestart-pipeline-execution.

AWS CLI

Per eseguire la revisione più recente tramite una pipeline

Questo esempio esegue l'ultima revisione presente nella fase di origine di una pipeline tramite la pipeline denominata "». MyFirstPipeline

Comando:

aws codepipeline start-pipeline-execution --name MyFirstPipeline

Output:

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

Il seguente esempio di codice mostra come utilizzarestop-pipeline-execution.

AWS CLI

Per interrompere l'esecuzione di una pipeline

Per impostazione predefinitastop-pipeline-execution, l'esempio seguente attende il completamento delle azioni in corso e quindi arresta la pipeline. Non è possibile scegliere di interrompere e attendere se l'esecuzione è già in uno stato di arresto . È possibile scegliere di interrompere e abbandonare un'esecuzione già in uno stato di arresto .

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

Questo comando non restituisce alcun output.

Per ulteriori informazioni, vedete Stop a pipeline execution (CLI) nella Guida per l'utente.AWS CodePipeline

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Per etichettare una risorsa

L'tag-resourceesempio seguente associa un set di tag forniti a una pipeline. Utilizzate questo comando per aggiungere o modificare i tag.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, vedete Aggiungere tag a una pipeline (CLI) nella Guida per l'AWS CodePipeline utente.

  • Per API i dettagli, vedere TagResourcein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per rimuovere i AWS tag da una risorsa di connessione

L'untag-resourceesempio seguente rimuove un tag dalla risorsa specificata.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, vedete Remove tags from a pipeline (CLI) nella Guida per l'AWS CodePipeline utente.

  • Per API i dettagli, vedere UntagResourcein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareupdate-pipeline.

AWS CLI

Per aggiornare la struttura di una pipeline

Questo esempio utilizza il comando update-pipeline con l'argomento --. cli-input-json Questo esempio utilizza un JSON file predefinito (MyFirstPipeline.json) per aggiornare la struttura di una pipeline. AWS CodePipeline riconosce il nome della pipeline contenuto nel JSON file, quindi applica tutte le modifiche apportate ai campi modificati nella struttura della pipeline per aggiornare la pipeline.

Utilizzate le seguenti linee guida per creare il file predefinito: JSON

Se state lavorando con una struttura di pipeline recuperata utilizzando il comando get-pipeline, dovete rimuovere la sezione dei metadati dalla struttura della pipeline nel JSON file (le righe «metadata»: {} e i campi «created», «pipeline» e «updated» all'interno). Il nome della pipeline ARN non può essere modificato.

Comando:

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

JSONContenuto del file di esempio:

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

Output:

{ "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 } }
  • Per API i dettagli, vedere UpdatePipelinein AWS CLI Command Reference.