Esempi di CodePipeline che utilizzano la AWS CLI
Negli esempi di codice seguenti viene mostrato come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con CodePipeline.
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Operazioni
L’esempio di codice seguente mostra come utilizzare acknowledge-job.
- AWS CLI
-
Come recuperare le informazioni relative a un processo specificato
In questo esempio vengono restituite le informazioni su un processo specificato, incluso il relativo stato, se esistente. Viene utilizzato solo per i worker del processo e le azioni personalizzate. Per determinare il valore di nonce e l’ID del processo, utilizza aws codepipeline poll-for-jobs.
Comando:
aws codepipeline acknowledge-job --job-idf4f4ff82-2d11-EXAMPLE--nonce3Output:
{ "status": "InProgress" }-
Per informazioni dettagliate sull’API, consulta AcknowledgeJob
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-custom-action-type.
- AWS CLI
-
Come creare un’azione personalizzata
In questo esempio viene creata un’azione personalizzata per AWS CodePipeline utilizzando un file JSON 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 di AWS CodePipeline.
aws codepipeline create-custom-action-type --cli-input-jsonfile://MyCustomAction.jsonContenuto del file
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 } }Questo comando restituisce la struttura dell’azione personalizzata.
-
Per informazioni dettagliate sull’API, consulta CreateCustomActionType
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-pipeline.
- AWS CLI
-
Per creare una pipeline
In questo esempio, in AWS CodePipeline viene creata una pipeline utilizzando un file JSON precedentemente creato (in questo caso 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 di AWS CodePipeline.
Comando:
aws codepipeline create-pipeline --cli-input-jsonfile://MySecondPipeline.jsonContenuto del file JSON 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-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 informazioni dettagliate sull’API, consulta CreatePipeline
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-custom-action-type.
- AWS CLI
-
Come eliminare un’azione personalizzata
In questo esempio viene eliminata un’azione personalizzata in AWS CodePipeline utilizzando un file JSON precedentemente creato (in questo caso denominato DeleteMyCustomAction.json) e contenente il tipo di azione, il nome del provider e il numero di versione dell’azione da eliminare. Utilizza il comando list-action-types per visualizzare i valori corretti per categoria, versione e provider.
Comando:
aws codepipeline delete-custom-action-type --cli-input-jsonfile://DeleteMyCustomAction.jsonContenuto del file JSON di esempio:
{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }Output:
None.-
Per informazioni dettagliate sull’API, consulta DeleteCustomActionType
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-pipeline.
- AWS CLI
-
Per eliminare una pipeline
In questo esempio, una pipeline denominata MySecondPipeline viene eliminata da AWS CodePipeline. Utilizza il comando list-pipelines per visualizzare l’elenco delle pipeline associate all’account AWS in uso.
Comando:
aws codepipeline delete-pipeline --nameMySecondPipelineOutput:
None.-
Per informazioni dettagliate sull’API, consulta DeletePipeline
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-webhook.
- AWS CLI
-
Come eliminare un webhook
L’esempio
delete-webhookseguente elimina un webhook per un’azione di origine GitHub versione 1. Prima di eliminare il webhook, devi annullarne la registrazione utilizzando il comandoderegister-webhook-with-third-party.aws codepipeline delete-webhook \ --namemy-webhookQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Eliminazione del webhook per l’origine GitHub nella Guida per l’utente di AWS CodePipeline.
-
Per informazioni dettagliate sull’API, consulta DeleteWebhook
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare deregister-webhook-with-third-party.
- AWS CLI
-
Come annullare la registrazione di un webhook
L’esempio
deregister-webhook-with-third-partyseguente elimina un webhook per un’azione di origine GitHub versione 1. Prima di eliminare il webhook, devi annullarne la registrazione.aws codepipeline deregister-webhook-with-third-party \ --webhook-namemy-webhookQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Eliminazione del webhook per l’origine GitHub nella Guida per l’utente di AWS CodePipeline.
-
Per informazioni dettagliate sull’API, consulta DeregisterWebhookWithThirdParty
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare disable-stage-transition.
- AWS CLI
-
Come disabilitare una transizione verso una fase in una pipeline
In questo esempio vengono disabilitate le transizioni verso la fase Beta della pipeline MyFirstPipeline in AWS CodePipeline.
Comando:
aws codepipeline disable-stage-transition --pipeline-nameMyFirstPipeline--stage-nameBeta--transition-typeInboundOutput:
None.-
Per informazioni dettagliate sull’API, consulta DisableStageTransition
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare enable-stage-transition.
- AWS CLI
-
Come abilitare una transizione verso una fase in una pipeline
In questo esempio vengono abilitate le transizioni verso la fase Beta della pipeline MyFirstPipeline in AWS CodePipeline.
Comando:
aws codepipeline enable-stage-transition --pipeline-nameMyFirstPipeline--stage-nameBeta--transition-typeInboundOutput:
None.-
Per informazioni dettagliate sull’API, consulta EnableStageTransition
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-job-details.
- AWS CLI
-
Come ottenere i dettagli di un processo
In questo esempio vengono restituiti i dettagli su un processo il cui ID è rappresentato da f4f4ff82-2d11-EXAMPLE. Questo comando viene utilizzato solo per le azioni personalizzate. Quando questo comando viene chiamato, AWS CodePipeline restituisce credenziali temporanee per il bucket Amazon S3 utilizzato per archiviare gli artefatti per la pipeline, se richiesto dall’azione personalizzata. Questo comando restituirà anche tutti i valori del segreto definiti per l’azione, se definiti.
Comando:
aws codepipeline get-job-details --job-idf4f4ff82-2d11-EXAMPLEOutput:
{ "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 informazioni dettagliate sull’API, consulta GetJobDetails
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-pipeline-state.
- AWS CLI
-
Come ottenere informazioni sullo stato di una pipeline
In questo esempio viene restituito lo stato più recente di una pipeline denominata MyFirstPipeline.
Comando:
aws codepipeline get-pipeline-state --nameMyFirstPipelineOutput:
{ "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 }-
Per informazioni dettagliate sull’API, consulta GetPipelineState
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-pipeline.
- AWS CLI
-
Come visualizzare la struttura di una pipeline
In questo esempio viene restituita la struttura di una pipeline denominata MyFirstPipeline.
Comando:
aws codepipeline get-pipeline --nameMyFirstPipelineOutput:
{ "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 informazioni dettagliate sull’API, consulta GetPipeline
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-action-executions.
- AWS CLI
-
Come elencare le esecuzioni di azioni
L’esempio
list-action-executionsseguente visualizza i dettagli di esecuzione di un’azione per una pipeline, ad esempio l’ID di esecuzione dell’azione, gli artefatti di input, gli artefatti di output, i risultati dell’esecuzione e lo stato.aws codepipeline list-action-executions \ --pipeline-namemyPipelineOutput:
{ "actionExecutionDetails": [ { "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", "actionExecutionId": "EXAMPLE4-2ee8-4853-bd6a-111111158148", "pipelineVersion": 12, "stageName": "Deploy", "actionName": "Deploy", "startTime": 1598572628.6, "lastUpdateTime": 1598572661.255, "status": "Succeeded", "input": { "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "CodeDeploy", "version": "1" }, "configuration": { "ApplicationName": "my-application", "DeploymentGroupName": "my-deployment-group" }, "resolvedConfiguration": { "ApplicationName": "my-application", "DeploymentGroupName": "my-deployment-group" }, "region": "us-east-1", "inputArtifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "artifact-bucket", "key": "myPipeline/SourceArti/key" } } ], "namespace": "DeployVariables" }, "output": { "outputArtifacts": [], "executionResult": { "externalExecutionId": "d-EXAMPLEE5", "externalExecutionSummary": "Deployment Succeeded", "externalExecutionUrl": "https://myaddress.com" }, "outputVariables": {} } }, { "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", "actionExecutionId": "EXAMPLE5-abb4-4192-9031-11111113a7b0", "pipelineVersion": 12, "stageName": "Source", "actionName": "Source", "startTime": 1598572624.387, "lastUpdateTime": 1598572628.16, "status": "Succeeded", "input": { "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "CodeCommit", "version": "1" }, "configuration": { "BranchName": "production", "PollForSourceChanges": "false", "RepositoryName": "my-repo" }, "resolvedConfiguration": { "BranchName": "production", "PollForSourceChanges": "false", "RepositoryName": "my-repo" }, "region": "us-east-1", "inputArtifacts": [], "namespace": "SourceVariables" }, "output": { "outputArtifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "amzn-s3-demo-bucket", "key": "myPipeline/SourceArti/key" } } ], "executionResult": { "externalExecutionId": "1111111ad99dcd35914c00b7fbea13995EXAMPLE", "externalExecutionSummary": "Edited template.yml", "externalExecutionUrl": "https://myaddress.com" }, "outputVariables": { "AuthorDate": "2020-05-08T17:45:43Z", "BranchName": "production", "CommitId": "EXAMPLEad99dcd35914c00b7fbea139951111111", "CommitMessage": "Edited template.yml", "CommitterDate": "2020-05-08T17:45:43Z", "RepositoryName": "my-repo" } } }, . . . .Per ulteriori informazioni, consulta Visualizzazione delle esecuzioni delle operazioni (CLI) nella Guida per l’utente di AWS CodePipeline.
-
Per informazioni dettagliate sull’API, consulta ListActionExecutions
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-action-types.
- AWS CLI
-
Come visualizzare i tipi di azione disponibili
Utilizzato da solo, il comando list-action-types restituisce la struttura di tutte le azioni disponibili per l’account AWS in uso. In questo esempio viene utilizzata l’opzione --action-owner-filter per restituire solo le azioni personalizzate.
Comando:
aws codepipeline list-action-types --action-owner-filterCustomOutput:
{ "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}" } } ] }-
Per informazioni dettagliate sull’API, consulta ListActionTypes
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-pipeline-executions.
- AWS CLI
-
Come visualizzare la cronologia di esecuzione delle pipeline
L’esempio
list-pipeline-executionsseguente mostra la cronologia di esecuzione della pipeline per una pipeline nel tuo account AWS.aws codepipeline list-pipeline-executions \ --pipeline-nameMyPipelineOutput:
{ "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 Visualizzazione della cronologia delle esecuzioni nella Guida per l’utente di AWS CodePipeline.
-
Per informazioni dettagliate sull’API, consulta ListPipelineExecutions
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-pipelines.
- AWS CLI
-
Per visualizzare un elenco di pipeline
In questo esempio vengono elencate tutte le pipeline di AWS CodePipeline associate all’account AWS dell’utente.
Comando:
aws codepipeline list-pipelinesOutput:
{ "pipelines": [ { "updated": 1439504274.641, "version": 1, "name": "MyFirstPipeline", "created": 1439504274.641 }, { "updated": 1436461837.992, "version": 2, "name": "MySecondPipeline", "created": 1436460801.381 } ] }-
Per informazioni dettagliate sull’API, consulta ListPipelines
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-tags-for-resource.
- AWS CLI
-
Come elencare i tag
L’esempio
list-tags-for-resourceseguente recupera un elenco di tutti i tag collegati alla risorsa pipeline specificata.aws codepipeline list-tags-for-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipelineOutput:
{ "tags": { "Project": "ProjectA", "IscontainerBased": "true" } }Per ulteriori informazioni, consulta Visualizzazione di tag per una pipeline (CLI) nella Guida per l’utente di AWS CodePipeline.
-
Per informazioni dettagliate sull’API, consulta ListTagsForResource
in Riferimento ai comandi AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare list-webhooks.
- AWS CLI
-
Come elencare i webhook
L’esempio
list-webhooksseguente recupera un elenco di tutti i tag collegati 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 Elenco di webhook nell’account nella Guida per l’utente di AWS CodePipeline.
-
Per informazioni dettagliate sull’API, consulta ListWebhooks
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare poll-for-jobs.
- AWS CLI
-
Come visualizzare tutti i processi disponibili
In questo esempio vengono restituite le informazioni su qualsiasi processo su cui può un worker agire. In questo esempio viene utilizzato un file JSON predefinito (MyActionTypeInfo.json) per fornire informazioni sul tipo di azione per cui il worker del processo elabora i processi. Questo comando viene utilizzato solo per le azioni personalizzate. Quando questo comando viene chiamato, AWS CodePipeline restituisce credenziali temporanee per il bucket Amazon S3 utilizzato per archiviare gli artefatti per la pipeline. Questo comando restituirà anche tutti i valori del segreto definiti per l’azione, se definiti.
Comando:
aws codepipeline poll-for-jobs --cli-input-jsonfile://MyActionTypeInfo.jsonContenuto del file JSON di esempio:
{ "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 informazioni dettagliate sull’API, consulta PollForJobs
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare put-webhook.
- AWS CLI
-
Come creare un webhook
L’esempio
put-webhookseguente crea un webhook per un’azione di origine GitHub versione 1. Dopo aver creato il webhook, è necessario registrarlo utilizzando il comando register-webhook-with-third party.aws codepipeline put-webhook \ --cli-input-jsonfile://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 Creazione di un webhook per un’origine GitHub nella Guida per l’utente di AWS CodePipeline.
-
Per informazioni dettagliate sull’API, consulta PutWebhook
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare retry-stage-execution.
- AWS CLI
-
Come riprovare a eseguire un’azione non riuscita
L’esempio
retry-stage-executionseguente ritenta una fase con un’azione non riuscita.aws codepipeline retry-stage-execution \ --pipeline-nameMyPipeline\ --stage-nameDeploy\ --pipeline-execution-idb59babff-5f34-EXAMPLE\ --retry-modeFAILED_ACTIONSOutput:
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }Per ulteriori informazioni, consulta Nuovo tentativo di operazioni non riuscite (CLI) nella AWSCodePipeline User Guide.
-
Per informazioni dettagliate sull’API, consulta RetryStageExecution
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare start-pipeline-execution.
- AWS CLI
-
Come eseguire la revisione più recente tramite una pipeline
In questo esempio viene eseguita l’ultima revisione presente nella fase di origine di una pipeline tramite la pipeline denominata “MyFirstPipeline”.
Comando:
aws codepipeline start-pipeline-execution --nameMyFirstPipelineOutput:
{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }-
Per informazioni dettagliate sull’API, consulta StartPipelineExecution
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare stop-pipeline-execution.
- AWS CLI
-
Come arrestare l’esecuzione di una pipeline
L’esempio
stop-pipeline-executionseguente attende, per impostazione predefinita, 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-nameMyFirstPipeline\ --pipeline-execution-idd-EXAMPLE\ --reason"Stopping pipeline after the build action is done"Questo comando non restituisce alcun output.
Per ulteriori informazioni, consulta Arresto dell’esecuzione di una pipeline (CLI) nella Guida per l’utente di AWS CodePipeline.
-
Per informazioni dettagliate sull’API, consulta StopPipelineExecution
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare tag-resource.
- AWS CLI
-
Come aggiungere un tag a una risorsa
L’esempio
tag-resourceseguente associa un set di tag forniti a una connessione. Utilizza questo comando per aggiungere o modificare tag.aws codepipeline tag-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipeline\ --tagskey=Project,value=ProjectAkey=IscontainerBased,value=trueQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Aggiunta di tag a una pipeline (CLI) nella Guida per l’utente di AWS CodePipeline.
-
Per informazioni dettagliate sull’API, consulta TagResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare untag-resource.
- AWS CLI
-
Come rimuovere i tag AWS da una risorsa di connessione
L’esempio
untag-resourceseguente rimuove un tag dalla risorsa specificata.aws codepipeline untag-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipeline\ --tag-keysProjectIscontainerBasedQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Rimozione di tag da una pipeline (CLI) nella Guida per l’utente di AWS CodePipeline.
-
Per informazioni dettagliate sull’API, consulta UntagResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-pipeline.
- AWS CLI
-
Come aggiornare la struttura di una pipeline
In questo esempio, il comando update-pipeline viene utilizzato con l’argomento --cli-input-json. In questo esempio viene utilizzato un file JSON predefinito (MyFirstPipeline.json) per aggiornare la struttura di una pipeline AWS. CodePipeline riconosce il nome della pipeline contenuta nel file JSON e applica eventuali modifiche apportate ai campi nella struttura della pipeline per aggiornarla.
Per creare il file JSON predefinito, utilizza le linee guida seguenti:
Se utilizzi una struttura di pipeline recuperata mediante il comando get-pipeline, rimuovi la sezione dei metadati dalla struttura della pipeline nel file JSON, ovvero le righe “metadata”: { } e i campi “created”, “pipelineARN” e “updated” al loro interno. Il nome della pipeline non può essere modificato.
Comando:
aws codepipeline update-pipeline --cli-input-jsonfile://MyFirstPipeline.jsonContenuto del file JSON 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 informazioni dettagliate sull’API, consulta UpdatePipeline
in AWS CLI Command Reference.
-