를 사용한 CodePipeline 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용한 CodePipeline 예제 AWS CLI

다음 코드 예제에서는 AWS Command Line Interface with CodePipeline를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 acknowledge-job을 사용하는 방법을 보여 줍니다.

AWS CLI

지정된 작업에 대한 정보를 검색하려면

이 예제에서는 해당 작업이 있는 경우 해당 작업의 상태를 포함하여 지정된 작업에 대한 정보를 반환합니다. 이는 작업 작업자 및 사용자 지정 작업에만 사용됩니다. nonce 값과 작업 ID를 확인하려면 aws codepipeline poll-for-jobs를 사용합니다.

명령:

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

출력:

{ "status": "InProgress" }
  • API 세부 정보는 AWS CLI 명령 참조AcknowledgeJob를 참조하세요.

다음 코드 예시에서는 create-custom-action-type을 사용하는 방법을 보여 줍니다.

AWS CLI

사용자 지정 작업을 생성하려면

이 예제에서는 사용자 지정 작업의 구조를 포함하는 이미 생성된 JSON 파일(여기서는 AWS CodePipeline .json)을 사용하여 MyCustomAction에 대한 사용자 지정 작업을 생성합니다. 파일 구조를 포함하여 사용자 지정 작업을 생성하기 위한 요구 사항에 대한 자세한 내용은 AWS CodePipeline 사용 설명서를 참조하세요.

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

JSON 파일 내용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 } }

이 명령은 사용자 지정 작업의 구조를 반환합니다.

다음 코드 예시에서는 create-pipeline을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인을 생성하려면

이 예제에서는 파이프라인의 구조를 포함하는 이미 생성된 JSON 파일(여기서는 MySecondPipeline.json)을 AWS CodePipeline 사용하여 파이프라인을 생성합니다. 파일 구조를 포함하여 파이프라인 생성 요구 사항에 대한 자세한 내용은 AWS CodePipeline 사용 설명서를 참조하세요.

명령:

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

JSON 파일 샘플 콘텐츠:

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

출력:

This command returns the structure of the pipeline.
  • API 세부 정보는 AWS CLI 명령 참조CreatePipeline를 참조하세요.

다음 코드 예시에서는 delete-custom-action-type을 사용하는 방법을 보여 줍니다.

AWS CLI

사용자 지정 작업을 삭제하려면

이 예제에서는 삭제할 작업의 작업 유형, 공급자 이름 및 버전 번호가 포함된 이미 생성된 JSON 파일(여기서는 Word.json)을 AWS CodePipeline 사용하여 사용자 지정 작업을 in DeleteMyCustomAction에서 삭제합니다. list-action-types 명령을 사용하여 범주, 버전 및 공급자에 대한 올바른 값을 확인합니다.

명령:

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

JSON 파일 샘플 콘텐츠:

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

출력:

None.

다음 코드 예시에서는 delete-pipeline을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인을 삭제하려면

이 예제에서는 MySecondPipeline from AWS CodePipeline라는 파이프라인을 삭제합니다. list-pipelines 명령을 사용하여 AWS 계정과 연결된 파이프라인 목록을 봅니다.

명령:

aws codepipeline delete-pipeline --name MySecondPipeline

출력:

None.
  • API 세부 정보는 AWS CLI 명령 참조DeletePipeline를 참조하세요.

다음 코드 예시에서는 delete-webhook을 사용하는 방법을 보여 줍니다.

AWS CLI

웹후크를 삭제하려면

다음 delete-webhook 예제에서는 a GitHub 버전 1 소스 작업에 대한 웹후크를 삭제합니다. deregister-webhook-with-third-party 명령을 사용하여 웹후크를 삭제하기 전에 등록을 취소해야 합니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS CodePipeline 사용 설명서의 webhook for your GitHub 소스 삭제를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteWebhook를 참조하세요.

다음 코드 예시에서는 deregister-webhook-with-third-party을 사용하는 방법을 보여 줍니다.

AWS CLI

웹후크 등록을 취소하려면

다음 deregister-webhook-with-third-party 예제에서는 a GitHub 버전 1 소스 작업에 대한 웹후크를 삭제합니다. Webhook를 삭제하려면 먼저 등록을 취소해야 합니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS CodePipeline 사용 설명서의 webhook for your GitHub 소스 삭제를 참조하세요.

다음 코드 예시에서는 disable-stage-transition을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인에서 스테이지로의 전환을 비활성화하려면

이 예제에서는 in MyFirstPipeline 에서 AWS CodePipeline 파이프라인의 베타 단계로의 전환을 비활성화합니다.

명령:

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

출력:

None.

다음 코드 예시에서는 enable-stage-transition을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인에서 스테이지로의 전환을 활성화하려면

이 예제에서는 in MyFirstPipeline 에서 AWS CodePipeline 파이프라인의 베타 단계로 전환할 수 있습니다.

명령:

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

출력:

None.

다음 코드 예시에서는 get-job-details을 사용하는 방법을 보여 줍니다.

AWS CLI

작업의 세부 정보를 가져오려면

이 예제에서는 ID가 f4f4ff82-2d11-EXAMPLE로 표시되는 작업에 대한 세부 정보를 반환합니다. 이 명령은 사용자 지정 작업에만 사용됩니다. 이 명령이 호출되면 AWS CodePipeline 는 사용자 지정 작업에 필요한 경우 파이프라인의 아티팩트를 저장하는 데 사용되는 Amazon S3 버킷에 대한 임시 자격 증명을 반환합니다. 또한이 명령은 작업에 대해 정의된 보안 암호 값이 있는 경우 해당 값을 반환합니다.

명령:

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

출력:

{ "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" } }
  • API 세부 정보는 AWS CLI 명령 참조GetJobDetails를 참조하세요.

다음 코드 예시에서는 get-pipeline-state을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인 상태에 대한 정보를 가져오려면

이 예제는 MyFirstPipeline라는 파이프라인의 최신 상태를 반환합니다.

명령:

aws codepipeline get-pipeline-state --name MyFirstPipeline

출력:

{ "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 }
  • API 세부 정보는 AWS CLI 명령 참조GetPipelineState를 참조하세요.

다음 코드 예시에서는 get-pipeline을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인의 구조를 보려면

이 예제에서는 MyFirstPipeline라는 파이프라인의 구조를 반환합니다.

명령:

aws codepipeline get-pipeline --name MyFirstPipeline

출력:

{ "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 } }
  • API 세부 정보는 AWS CLI 명령 참조GetPipeline를 참조하세요.

다음 코드 예시에서는 list-action-executions을 사용하는 방법을 보여 줍니다.

AWS CLI

작업 실행을 나열하려면

다음 list-action-executions 예제에서는 작업 실행 ID, 입력 아티팩트, 출력 아티팩트, 실행 결과 및 상태와 같은 파이프라인에 대한 작업 실행 세부 정보를 봅니다.

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

출력:

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

자세한 내용은 AWS CodePipeline 사용 설명서작업 실행 보기(CLI)를 참조하세요.

다음 코드 예시에서는 list-action-types을 사용하는 방법을 보여 줍니다.

AWS CLI

사용 가능한 작업 유형을 보려면

단독으로 사용되는 list-action-types 명령은 AWS 계정에서 사용할 수 있는 모든 작업의 구조를 반환합니다. 이 예제에서는 --action-owner-filter 옵션을 사용하여 사용자 지정 작업만 반환합니다.

명령:

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

출력:

{ "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}" } } ] }
  • API 세부 정보는 AWS CLI 명령 참조ListActionTypes를 참조하세요.

다음 코드 예시에서는 list-pipeline-executions을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인 실행 기록을 보려면

다음 list-pipeline-executions 예제는 AWS 계정의 파이프라인에 대한 파이프라인 실행 기록을 보여줍니다.

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

출력:

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

자세한 내용은 AWS CodePipeline 사용 설명서실행 기록 보기를 참조하세요.

다음 코드 예시에서는 list-pipelines을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인 목록을 보려면

이 예제에서는 사용자 AWS 계정과 연결된 모든 AWS CodePipeline 파이프라인을 나열합니다.

명령:

aws codepipeline list-pipelines

출력:

{ "pipelines": [ { "updated": 1439504274.641, "version": 1, "name": "MyFirstPipeline", "created": 1439504274.641 }, { "updated": 1436461837.992, "version": 2, "name": "MySecondPipeline", "created": 1436460801.381 } ] }
  • API 세부 정보는 AWS CLI 명령 참조ListPipelines를 참조하세요.

다음 코드 예시에서는 list-tags-for-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

태그를 나열하려면

다음 list-tags-for-resource 예제에서는 지정된 파이프라인 리소스에 연결된 모든 태그 목록을 검색합니다.

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

출력:

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

자세한 내용은 AWS CodePipeline 사용 설명서파이프라인(CLI)에 대한 태그 보기를 참조하세요.

다음 코드 예시에서는 list-webhooks을 사용하는 방법을 보여 줍니다.

AWS CLI

웹후크를 나열하려면

다음 list-webhooks 예제에서는 지정된 파이프라인 리소스에 연결된 모든 태그 목록을 검색합니다.

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

출력:

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

자세한 내용은 AWS CodePipeline 사용 설명서의 계정에 웹후크 나열을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListWebhooks를 참조하세요.

다음 코드 예시에서는 poll-for-jobs을 사용하는 방법을 보여 줍니다.

AWS CLI

사용 가능한 작업을 보려면

이 예제에서는 작업 작업자가 조치를 취할 작업에 대한 정보를 반환합니다. 이 예제에서는 미리 정의된 JSON 파일(MyActionTypeInfo.json)을 사용하여 작업 작업자가 작업을 처리하는 작업 유형에 대한 정보를 제공합니다. 이 명령은 사용자 지정 작업에만 사용됩니다. 이 명령이 호출되면 AWS CodePipeline 는 파이프라인의 아티팩트를 저장하는 데 사용되는 Amazon S3 버킷에 대한 임시 자격 증명을 반환합니다. 또한이 명령은 작업에 대해 정의된 보안 암호 값이 있는 경우 해당 값을 반환합니다.

명령:

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

JSON 파일 샘플 콘텐츠:

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

출력:

{ "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" } ] }
  • API 세부 정보는 AWS CLI 명령 참조PollForJobs를 참조하세요.

다음 코드 예시에서는 put-webhook을 사용하는 방법을 보여 줍니다.

AWS CLI

웹후크를 생성하려면

다음 put-webhook 예제에서는 a GitHub 버전 1 소스 작업에 대한 웹후크를 생성합니다. 웹후크를 생성한 후에는 register-webhook-with-third 파티 명령을 사용하여 등록해야 합니다.

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

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

출력:

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

자세한 내용은 AWS CodePipeline 사용 설명서a GitHub 소스용 웹후크 생성을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조PutWebhook를 참조하세요.

다음 코드 예시에서는 retry-stage-execution을 사용하는 방법을 보여 줍니다.

AWS CLI

실패한 작업을 다시 시도하려면

다음 retry-stage-execution 예제에서는 실패한 작업이 있는 단계를 재시도합니다.

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

출력:

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

자세한 내용은 AWS CodePipeline 사용 설명서실패한 작업 재시도(CLI)를 참조하세요.

다음 코드 예시에서는 start-pipeline-execution을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인을 통해 최신 개정을 실행하려면

이 예제에서는 'MyFirstPipeline'라는 파이프라인을 통해 파이프라인의 소스 단계에 있는 최신 개정을 실행합니다.

명령:

aws codepipeline start-pipeline-execution --name MyFirstPipeline

출력:

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

다음 코드 예시에서는 stop-pipeline-execution을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인 실행을 중지하려면

다음 stop-pipeline-execution 예제는 진행 중인 작업이 완료될 때까지 기다리는 것으로 기본 설정된 다음 파이프라인을 중지합니다. 실행이 이미 중지 상태인 경우 중지하고 대기하도록 선택할 수 없습니다. 이미 중지 상태인 실행을 중지하고 중단하도록 선택할 수 있습니다.

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

이 명령은 출력을 반환하지 않습니다.

자세한 내용은 AWS CodePipeline 사용 설명서파이프라인 실행 중지(CLI)를 참조하세요.

다음 코드 예시에서는 tag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스에 태그를 지정하려면

다음 tag-resource 예제에서는 제공된 태그 세트를 파이프라인과 연결합니다. 태그를 추가하거나 편집하려면이 명령을 사용합니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS CodePipeline 사용 설명서파이프라인(CLI)에 태그 추가를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조TagResource를 참조하세요.

다음 코드 예시에서는 untag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

연결 리소스에서 AWS 태그를 제거하려면

다음 untag-resource 예제에서는 지정된 리소스에서 태그를 제거합니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS CodePipeline 사용 설명서파이프라인(CLI)에서 태그 제거를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UntagResource를 참조하세요.

다음 코드 예시에서는 update-pipeline을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인의 구조를 업데이트하려면

이 예제에서는 update-pipeline 명령을 --cli-input-json 인수와 함께 사용합니다. 이 예제에서는 미리 정의된 JSON 파일(MyFirstPipeline.json)을 사용하여 파이프라인의 구조를 업데이트합니다. AWS CodePipeline 는 JSON 파일에 포함된 파이프라인 이름을 인식한 다음 파이프라인 구조의 수정된 필드의 변경 사항을 적용하여 파이프라인을 업데이트합니다.

사전 정의된 JSON 파일을 생성할 때 다음 지침을 사용합니다.

get-pipeline 명령을 사용하여 검색된 파이프라인 구조로 작업하는 경우 JSON 파일의 파이프라인 구조에서 메타데이터 섹션을 제거해야 합니다(“메타데이터”: { }행 및 “생성됨,” “pipelineARN,” 및 “업데이트됨” 필드).파이프라인 이름은 변경할 수 없습니다.

명령:

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

샘플 JSON 파일 내용:

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

출력:

{ "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 } }
  • API 세부 정보는 AWS CLI 명령 참조UpdatePipeline를 참조하세요.