CodeBuild (AWS CLI) - AWS CodeBuild

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

CodeBuild (AWS CLI)

CodeBuildild를 사용하여 소스 코드를 빌드하는 파이프라인을 만들려면 다음 절차에 따르십시오.

를 사용하려면AWS CLI를 사용하여 빌드 된 소스 코드를 배포하거나 소스 코드 만 테스트하는 파이프라인을 만드는 경우파이프라인 편집 (AWS CLI)CodePipeline 구조 참조AWS CodePipeline사용 설명서.

  1. CodeBuild Build에서 빌드 프로젝트를 만들거나 식별합니다. 자세한 내용은 빌드 프로젝트 생성 단원을 참조하십시오.

    중요

    빌드 프로젝트는 빌드 출력 아티팩트 설정을 정의해야합니다 (CodePipeline 이 설정을 재정의하더라도). 자세한 내용은 빌드 프로젝트 생성(AWS CLI)artifacts 설명을 참조하십시오.

  2. 구성 되어 있는지 확인 합니다.AWS CLI를 사용하여AWS액세스 키 및AWS이 항목에서 설명하는 IAM 엔터티 중 하나에 해당하는 보안 액세스 키입니다. 자세한 내용은 단원을 참조하십시오.를 이용한 설정AWS Command Line InterfaceAWS Command Line Interface사용 설명서.

  3. 파이프라인의 구조를 나타내는 JSON 형식 파일을 생성합니다. 파일의 이름을 지정합니다.create-pipeline.json또는 이와 유사한 예를 들어, 다음 JSON 형식 구조는 CodeBuild Build를 사용하는 빌드 작업 및 S3 입력 버킷을 참조하는 소스 작업으로 파이프라인을 생성합니다.

    { "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필수 조건의 일부로 생성하거나 지정한 CodePipeline 서비스 역할의 ARN 과 일치해야 합니다.

    • configurationS3BucketS3ObjectKey 값은 소스 코드가 S3 버킷에 저장되어 있다고 가정합니다. 다른 소스 코드 저장소 유형에 대한 설정은CodePipeline 구조 참조AWS CodePipeline사용 설명서.

    • 의 값ProjectName는 이 절차의 앞부분에서 만든 CodeBuild 빌드 프로젝트의 이름입니다.

    • location의 값은 이 파이프라인에서 사용하는 S3 버킷의 이름입니다. 자세한 내용은 단원을 참조하십시오.CodePipeline 의 아티팩트 스토어로 사용할 정책을 S3 버킷에 새로 만들려면AWS CodePipeline사용 설명서.

    • 의 값name는 이 파이프라인의 이름입니다. 모든 파이프라인 이름은 계정에서 고유해야 합니다.

    이 데이터는 소스 작업과 빌드 작업만 설명하지만 테스트와 관련된 활동에 대한 작업을 추가하고 빌드 출력 아티팩트를 배포하고AWS Lambda함수 등을 사용할 수 있습니다. 자세한 내용은 단원을 참조하십시오.AWS CodePipeline파이프라인 구조 참조AWS CodePipeline사용 설명서.

  4. JSON 파일이 들어 있는 폴더로 전환한 다음 CodePipelinecreate-pipeline명령을 실행하여 파일 이름을 지정합니다.

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

    파이프라인을 생성해야 합니다.AWSCodeBuild 가 지원되는 지역입니다. 자세한 내용은 단원을 참조하십시오.AWS CodeBuildAmazon Web Services 일반 참조.

    JSON 형식 데이터가 출력에 표시되고 CodePipeline (codepipeline) 은 파이프라인을 생성합니다.

  5. 파이프라인의 상태에 대한 정보를 가져오려면 CodePipelineget-pipeline-state명령을 사용하여 파이프라인의 이름을 지정합니다.

    aws codepipeline get-pipeline-state --name <my-pipeline-name>

    출력에서 빌드가 성공했음을 확인하는 정보를 찾습니다. 타원 (...) 는 간결함을 위해 생략 된 데이터를 표시하는 데 사용됩니다.

    { ... "stageStates": [ ... { "actionStates": [ { "actionName": "CodeBuild", "latestExecution": { "status": "SUCCEEDED", ... }, ... } ] } ] }

    이 명령을 너무 일찍 실행하면 빌드 작업에 대한 정보가 표시되지 않을 수 있습니다. 빌드 작업 실행이 완료될 때까지 이 명령을 여러 번 실행해야 할 수 있습니다.

  6. 빌드가 성공한 후 다음 지침에 따라 빌드 출력 아티팩트를 가져옵니다. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

    참고

    를 선택하여 빌드 출력 결과물을 얻을 수도 있습니다.빌드 아티팩트링크를 클릭하면 CodeBuild 콘솔의 관련 빌드 세부 정보 페이지에 표시됩니다. 이 페이지로 이동하려면 이 절차의 나머지 단계를 건너뛰고빌드 세부 정보 보기(콘솔).

  7. 버킷 목록에서 파이프라인에 사용된 버킷을 엽니다. 버킷의 이름은 형식을 따라야 합니다.codepipeline-<region-ID>-<random-number>. 버킷 이름을 가져올 수 있습니다.create-pipeline.json파일을 사용하거나 CodePipeline 을 실행할 수 있습니다get-pipeline명령을 사용하여 버킷의 이름을 가져옵니다.

    aws codepipeline get-pipeline --name <pipeline-name>

    출력에서pipeline개체에 포함 된artifactStore객체를 포함합니다. 이 객체는location값을 버킷의 이름으로 바꿉니다.

  8. 파이프라인의 이름과 일치하는 폴더를 엽니다 (예:<pipeline-name>).

  9. 해당 폴더에서 라는 이름의 폴더를 엽니다.default.

  10. 파일의 내용을 추출합니다. 해당 폴더에 여러 개의 파일이 있는 경우 파일의 내용을 최신마지막 수정타임스탬프입니다. (파일에.zip확장자를 사용하여 시스템의 ZIP 유틸리티에서 작업 할 수 있습니다.) 빌드 출력 결과물이 파일의 추출 된 내용에 있습니다.