기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
명령 작업 참조
명령 작업을 사용하면 가상 컴퓨팅 인스턴스에서 쉘 명령을 실행할 수 있습니다. 작업을 실행하면 작업 구성에 지정된 명령이 별도의 컨테이너에서 실행됩니다. 명령을 실행하는 컨테이너 내에서 CodeBuild 작업에 대해 입력 아티팩트로 지정된 모든 아티팩트를 사용할 수 있습니다. 이 작업을 사용하면 CodeBuild 프로젝트를 먼저 생성하지 않고 명령을 지정할 수 있습니다. 자세한 내용은 AWS CodePipeline API 참조의 ActionDeclaration 및 OutputArtifact를 참조하세요.
중요
이 작업은 CodePipeline 관리형 CodeBuild 컴퓨팅을 사용하여 빌드 환경에서 명령을 실행합니다. 명령 작업을 실행하면 AWS CodeBuild에서 별도의 요금이 발생합니다.
참고
명령 작업은 V2 유형 파이프라인에만 사용할 수 있습니다.
명령 작업에 대한 고려 사항
명령 작업에는 다음 고려 사항이 적용됩니다.
-
명령 작업은 CodeBuild 작업과 유사한 CodeBuild 리소스를 사용하는 동시에 빌드 프로젝트를 연결하거나 생성할 필요 없이 가상 컴퓨팅 인스턴스에서 쉘 환경 명령을 허용합니다.
참고
명령 작업을 실행하면 AWS CodeBuild에서 별도의 요금이 발생합니다.
-
CodePipeline의 명령 작업은 CodeBuild 리소스를 사용하기 때문에 작업에서 실행되는 빌드는 CodeBuild에서 계정의 빌드 제한에 귀속됩니다. 명령 작업에서 실행되는 빌드는 해당 계정에 구성된 동시 빌드 제한에 포함됩니다.
-
CodeBuild 빌드를 기반으로 할 때 명령 작업을 사용한 빌드의 제한 시간은 55분입니다.
-
컴퓨팅 인스턴스는 CodeBuild에서 격리된 빌드 환경을 사용합니다.
참고
격리된 빌드 환경은 계정 수준에서 사용되므로 인스턴스를 다른 파이프라인 실행에 재사용할 수 있습니다.
-
다중 라인 형식을 제외한 모든 형식이 지원됩니다. 명령을 입력할 때는 단일 줄 형식을 사용해야 합니다.
-
교차 계정 또는 교차 리전 작업에는 명령 작업이 지원되지 않습니다.
-
이 작업의 경우 CodePipeline은 파이프라인 서비스 역할을 수행하고 해당 역할을 사용하여 런타임 시 리소스에 대한 액세스를 허용합니다. 권한 범위가 작업 수준까지 내려가도록 서비스 역할을 구성하는 것이 좋습니다.
-
CodePipeline 서비스 역할에 추가된 권한은 CodePipeline 서비스 역할에 권한 추가에 자세히 설명되어 있습니다.
-
콘솔에서 로그를 보는 데 필요한 권한은 CodePipeline 콘솔에서 컴퓨팅 로그를 보는 데 필요한 권한에 자세히 설명되어 있습니다.
-
CodePipeline의 다른 작업과 달리 작업 구성에서는 필드를 설정하지 않고 작업 구성 외부에서 작업 구성 필드를 설정합니다.
서비스 역할 정책 권한
CodePipeline이 작업을 실행하면 CodePipeline은 다음과 같이 파이프라인 이름을 사용하여 로그 그룹을 생성합니다. 이렇게 하면 파이프라인 이름을 사용하여 리소스를 로깅할 수 있는 권한을 범위 아래로 지정할 수 있습니다.
/aws/codepipeline/
MyPipelineName
기존 서비스 역할을 사용하는 경우 명령 작업을 사용하려면 서비스 역할에 대해 다음 권한을 추가해야 합니다.
-
logs:CreateLogGroup
-
logs:CreateLogStream
-
logs:PutLogEvents
서비스 역할 정책 설명에서 다음 예제와 같이 파이프라인 수준까지 권한의 범위를 좁힙니다.
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:
YOUR_AWS_ACCOUNT_ID
:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME
", "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID
:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME
:*" ] }
작업 세부 정보 대화 상자를 사용하여 콘솔에서 로그를 보려면 로그를 볼 수 있는 권한을 콘솔 역할에 추가해야 합니다. 자세한 내용은 CodePipeline 콘솔에서 컴퓨팅 로그를 보는 데 필요한 권한에서 콘솔 권한 정책 예제를 참조하세요.
작업 유형
-
범주:
Compute
-
소유자:
AWS
-
공급자:
Commands
-
버전:
1
구성 파라미터
- 명령
-
필수 여부: 예
실행할
Commands
작업에 쉘 명령을 제공할 수 있습니다. 콘솔에서 명령은 별도의 줄에 입력됩니다. CLI에서 명령은 별도의 문자열로 입력됩니다.참고
다중 라인 형식은 지원되지 않으며 오류 메시지가 표시됩니다. 명령 필드에 명령을 입력하려면 단일 줄 형식을 사용해야 합니다.
다음 세부 정보는 명령 작업에 사용되는 기본 컴퓨팅을 제공합니다. 자세한 내용은 CodeBuild 사용 설명서의 빌드 환경 컴퓨팅 모드 및 유형을 참조하세요.
-
CodeBuild 이미지: aws/codebuild/amazonlinux2-x86_64-standard:5.0
-
컴퓨팅 유형: Linux Small
-
환경 computeType 값: BUILD_GENERAL1_SMALL
-
환경 유형 값: LINUX_CONTAINER
-
- outputVariables
-
필수 여부: 아니요
내보낼 환경의 변수 이름을 지정합니다. CodeBuild 환경 변수에 대한 참조는 CodeBuild 사용 설명서의 빌드 환경의 환경 변수를 참조하세요.
- 파일
-
필수 여부: 아니요
작업에 대한 출력 아티팩트로 내보내려는 파일을 제공할 수 있습니다.
지원되는 파일 형식은 CodeBuild 파일 패턴과 동일합니다. 예를 들어 모든 파일에
**/
를 입력합니다. 자세한 내용은 CodeBuild 사용 설명서의 CodeBuild용 빌드 사양 참조를 참조하세요.
입력 아티팩트
-
아티팩트 수:
1 to 10
출력 아티팩트
-
아티팩트 수:
0 to 1
작업 선언(예)
다음 사항도 참조하세요.
이 작업을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
-
자습서: 컴퓨팅으로 명령을 실행하는 파이프라인 생성 - 이 자습서에서는 명령 작업이 포함된 샘플 파이프라인을 제공합니다.