CodePipeline 사용 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

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

CodePipeline 사용 예제 AWS CLI

다음 코드 예제에서는 AWS Command Line Interface 와 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 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 내용은 명령 참조AcknowledgeJob의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

이 예제에서는 사용자 지정 작업의 구조를 포함하는 이미 생성된 JSON 파일(여기서는 MyCustomAction.json)을 AWS CodePipeline 사용하기 위한 사용자 지정 작업을 생성합니다. 파일 구조를 포함하여 사용자 지정 작업을 생성하기 위한 요구 사항에 대한 자세한 내용은 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 내용은 명령 참조CreatePipeline의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

이 예제에서는 삭제할 작업의 작업 유형, 공급자 이름 및 버전 번호가 포함된 이미 생성된 JSON 파일(여기서는 DeleteMyCustomAction.json)을 AWS CodePipeline 사용하여 에서 사용자 지정 작업을 삭제합니다. 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 에서 라는 파이프라인을 삭제합니다 AWS CodePipeline. list-pipelines 명령을 사용하여 AWS 계정과 연결된 파이프라인 목록을 봅니다.

명령:

aws codepipeline delete-pipeline --name MySecondPipeline

출력:

None.
  • 자세한 API 내용은 명령 참조DeletePipeline의 섹션을 참조하세요. AWS CLI

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

AWS CLI

웹후크를 삭제하려면

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

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

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

자세한 내용은 AWS CodePipeline 사용 설명서 GitHub 소스에 대한 웹후크 삭제를 참조하세요.

  • 자세한 API 내용은 명령 참조DeleteWebhook의 섹션을 참조하세요. AWS CLI

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

AWS CLI

웹후크 등록을 취소하려면

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

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

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

자세한 내용은 AWS CodePipeline 사용 설명서 GitHub 소스에 대한 웹후크 삭제를 참조하세요.

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

AWS CLI

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

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

명령:

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

출력:

None.

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

AWS CLI

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

이 예제에서는 에서 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. 이 명령은 사용자 지정 작업에만 사용됩니다. 이 명령이 호출되면 는 사용자 지정 작업에 필요한 경우 파이프라인의 아티팩트를 저장하는 데 사용되는 Amazon S3 버킷의 임시 자격 증명을 AWS CodePipeline 반환합니다. 이 명령은 작업에 대해 정의된 보안 암호 값이 정의된 경우에도 반환합니다.

명령:

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 내용은 명령 참조GetJobDetails의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조GetPipelineState의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조GetPipeline의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조ListActionTypes의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조ListPipelines의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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)를 참조하세요.

  • 자세한 API 내용은 명령 참조ListTagsForResource의 섹션을 참조하세요. AWS 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 내용은 명령 참조ListWebhooks의 섹션을 참조하세요. AWS CLI

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

AWS CLI

사용 가능한 작업을 보려면

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

명령:

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 내용은 명령 참조PollForJobs의 섹션을 참조하세요. AWS CLI

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

AWS CLI

웹후크를 생성하려면

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

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 사용 설명서 GitHub 소스에 대한 웹후크 생성을 참조하세요.

  • 자세한 API 내용은 명령 참조PutWebhook의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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)를 참조하세요.

  • 자세한 API 내용은 명령 참조RetryStageExecution의 섹션을 참조하세요. AWS 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 내용은 명령 참조TagResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조UntagResource의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

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

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

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

명령:

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 내용은 명령 참조UpdatePipeline의 섹션을 참조하세요. AWS CLI