기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CodeBuild를 사용하는 파이프라인 생성(AWS CLI)
다음 절차를 사용하여 소스 코드를 빌드하는 CodeBuild 데 사용할 파이프라인을 만드십시오.
를 사용하여 빌드한 소스 코드를 배포하거나 소스 코드만 테스트하는 파이프라인을 AWS CLI 만들려면 Edit a pipeline (AWS CLI) 의 지침과 사용 AWS CodePipeline 설명서의 CodePipeline 파이프라인 구조 참조를 조정할 수 있습니다.
-
에서 CodeBuild 빌드 프로젝트를 만들거나 식별하세요. 자세한 내용은 빌드 프로젝트 생성 단원을 참조하십시오.
중요
빌드 프로젝트는 빌드 출력 아티팩트 설정을 정의해야 합니다 ( CodePipeline 재정의하더라도). 자세한 내용은 빌드 프로젝트 생성(AWS CLI)의
artifacts
설명을 참조하십시오. -
이 AWS CLI 항목에 설명된 IAM 엔티티 중 하나에 해당하는 AWS 액세스 AWS 키와 보안 액세스 키로 를 구성했는지 확인하세요. 자세한 내용은AWS Command Line Interface 사용 설명서의 AWS Command Line Interface설정을 참조하세요.
-
JSON파이프라인 구조를 나타내는 형식 파일을 생성하십시오. 파일 이름을
create-pipeline.json
또는 비슷한 이름으로 지정합니다. 예를 들어, 이 JSON -format 구조는 S3 입력 버킷을 참조하는 소스 작업과 다음을 사용하는 빌드 작업으로 구성된 파이프라인을 생성합니다. CodeBuild{ "pipeline": { "roleArn": "arn:aws:iam::
<account-id>
:role/<AWS-CodePipeline-service-role-name>
", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "<bucket-name>
", "S3ObjectKey": "<source-code-file-name.zip>
" }, "runOrder": 1 } ] }, { "name": "Build", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Build", "actionTypeId": { "category": "Build", "owner": "AWS", "version": "1", "provider": "CodeBuild" }, "outputArtifacts": [ { "name": "default" } ], "configuration": { "ProjectName": "<build-project-name>
" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "<CodePipeline-internal-bucket-name>
" }, "name": "<my-pipeline-name>
", "version": 1 } }다음과 같은 JSON 형식의 데이터에서:
-
의 값은 사전
roleArn
요구 ARN 사항의 일부로 생성하거나 식별한 CodePipeline 서비스 역할의 값과 일치해야 합니다. -
configuration
의S3Bucket
및S3ObjectKey
값은 소스 코드가 S3 버킷에 저장되어 있다고 가정합니다. 다른 소스 코드 리포지토리 유형에 대한 설정은 AWS CodePipeline 사용 설명서의 CodePipeline 파이프라인 구조 참조를 참조하십시오. -
의
ProjectName
값은 이 절차의 앞부분에서 만든 CodeBuild 빌드 프로젝트의 이름입니다. -
location
의 값은 이 파이프라인에서 사용하는 S3 버킷의 이름입니다. 자세한 내용은 사용 설명서의 아티팩트 스토어로 사용할 S3 버킷에 대한 CodePipeline 정책 생성을 참조하십시오.AWS CodePipeline -
name
의 값은 이 파이프라인의 이름입니다. 모든 파이프라인 이름은 계정에서 고유해야 합니다.
이 데이터는 소스 작업과 빌드 작업만 설명하지만 테스트, 빌드 출력 아티팩트 배포, AWS Lambda 함수 호출 등과 관련된 활동에 대한 작업을 추가할 수 있습니다. 자세한 내용은AWS CodePipeline 사용 설명서의 AWS CodePipeline 파이프라인 구조 참조를 참조하세요.
-
-
파일이 들어 있는 폴더로 전환한 다음 JSON 파일 이름을 지정하여 CodePipeline create-pipeline 명령을 실행합니다.
aws codepipeline create-pipeline --cli-input-json file://create-pipeline.json
참고
지원되는 AWS 지역에서 CodeBuild 파이프라인을 생성해야 합니다. 자세한 내용은 AWS CodeBuild의 Amazon Web Services 일반 참조 섹션을 참조하십시오.
JSON-formatted 데이터가 출력에 나타나고 파이프라인을 CodePipeline 생성합니다.
-
파이프라인 상태에 대한 정보를 가져오려면 파이프라인 이름을 지정하여 CodePipeline get-pipeline-state 명령을 실행합니다.
aws codepipeline get-pipeline-state --name
<my-pipeline-name>
출력에서 빌드가 성공했음을 확인하는 정보를 찾습니다. 간결하게 나타내기 위해 생략된 데이터를 표시하는 데 줄임표(
...
)가 사용됩니다.{ ... "stageStates": [ ... { "actionStates": [ { "actionName": "CodeBuild", "latestExecution": { "status": "SUCCEEDED", ... }, ... } ] } ] }
이 명령을 너무 일찍 실행하면 빌드 작업에 대해 어떤 정보도 표시되지 않을 수 있습니다. 파이프라인에서 빌드 작업 실행이 완료될 때까지 이 명령을 여러 번 실행해야 할 수도 있습니다.
-
빌드에 성공하면 다음 지침에 따라 빌드 출력 아티팩트를 가져오세요. 에서 Amazon S3 콘솔을 엽니다 https://console.aws.amazon.com/s3/
. 참고
콘솔의 관련 빌드 세부 정보 페이지에서 빌드 아티팩트 링크를 선택하여 빌드 출력 아티팩트를 가져올 수도 있습니다. CodeBuild 이 페이지로 이동하려면 이 절차의 나머지 단계를 건너뛰고 빌드 세부 정보 보기(콘솔) 섹션을 참조하세요.
-
버킷 목록에서 파이프라인에서 사용하는 버킷을 엽니다. 버킷의 이름은
codepipeline-
형식을 따릅니다.<region-ID>
-<random-number>
create-pipeline.json
파일에서 버킷 이름을 가져오거나 CodePipeline get-pipeline 명령을 실행하여 버킷 이름을 가져올 수 있습니다.aws codepipeline get-pipeline --name
<pipeline-name>
출력에서
pipeline
객체는artifactStore
객체를 포함하며, 이 객체에는 버킷 이름의location
값이 들어 있습니다. -
파이프라인 이름(예:
)과 일치하는 폴더를 엽니다.<pipeline-name>
-
해당 폴더에서 이름이
default
인 폴더를 엽니다. -
파일 내용의 압축을 풉니다. 해당 폴더에 파일이 여러 개 있는 경우 가장 최근의 마지막 수정 시간 타임스탬프를 사용하여 파일의 내용을 추출합니다. (시스템 ZIP 유틸리티에서 작업할 수 있도록 파일에
.zip
확장자를 지정해야 할 수도 있습니다.) 빌드 출력 아티팩트는 파일의 추출된 내용에 있습니다.