2단계: buildspec 파일 생성 - AWS CodeBuild

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

2단계: buildspec 파일 생성

(이전 단계: 1단계: 소스 코드 생성)

이 단계에서는 빌드 사양 파일을 생성합니다. Abuildspec는 가 빌드를 실행하는 데 사용하는 YAML 형식의 CodeBuild 및 관련 설정의 모음입니다. 빌드 사양 없이는 CodeBuild 가 빌드 입력을 빌드 출력으로 성공적으로 변환할 수 없으며, 빌드 환경의 빌드 출력 결과물을 찾아 출력 버킷에 업로드할 수도 없습니다.

다음 파일을 생성하고 이름을 buildspec.yml로 지정한 다음 이를 루트(최상위) 디렉터리에 저장합니다.

version: 0.2 phases: install: runtime-versions: java: corretto11 pre_build: commands: - echo Nothing to do in the pre_build phase... build: commands: - echo Build started on `date` - mvn install post_build: commands: - echo Build completed on `date` artifacts: files: - target/messageUtil-1.0.jar
중요

빌드 사양 선언은 올바른 YAML이어야 하므로 빌드 사양 선언의 공백이 중요합니다. 빌드 사양 선언의 공백 수가 YAML과 맞지 않으면 빌드가 즉시 실패할 수 있습니다. YAML 검사기를 사용하여 빌드 사양 선언이 올바른 YAML인지 여부를 테스트할 수 있습니다.

참고

소스 코드에 빌드 사양 파일을 포함하는 대신, 빌드 프로젝트를 생성할 때 빌드 명령을 별도로 선언할 수 있습니다. 이 방법은 매번 소스 코드 리포지토리를 업데이트하지 않아도 되도록 여러 개의 빌드 명령이 있는 소스 코드를 빌드하려는 경우 유용합니다. 자세한 내용은 buildspec 구문 단원을 참조하십시오.

이 빌드 사양 선언에서:

  • version은 사용 중인 빌드 사양 표준의 버전을 나타냅니다. 이 빌드 사양 선언은 최신 버전인 0.2을 사용합니다.

  • phases는 가 CodeBuild에 명령을 실행하도록 명령을 지정할 수 있는 빌드 단계를 나타냅니다. 여기에서는 이 빌드 단계가 install, pre_build, buildpost_build로 나열되어 있습니다. 이 빌드 단계 이름의 철자는 변경할 수 없으며 추가로 빌드 단계 이름을 생성할 수도 없습니다.

    이 예제에서는 동안build단계에서 CodeBuild 는mvn install명령입니다. 이 명령은 Apache Maven이 Java 클래스 파일을 컴파일 및 테스트하고 컴파일된 Java 클래스 파일을 빌드 출력 결과물에 패키지하도록 지시합니다. 그리고 몇 가지 echo 명령을 각 빌드 단계에 추가하여 이 연습을 마치게 됩니다. 이 자습서의 뒷부분에서 자세한 빌드 정보를 확인할 때 이러한echo명령을 사용하면 CodeBuild 가 명령을 실행하는 방법 및 명령 실행 순서를 이해하는 데 많은 도움이 됩니다. (이 예에는 모든 빌드 단계가 포함되어 있지만, 해당 단계에서 아무 명령도 실행하지 않으려면 빌드 단계를 포함하지 않아도 됩니다.) 빌드 단계마다 CodeBuild 는 처음부터 끝까지 한 번에 하나씩 나열된 순서로 지정된 각 명령을 실행합니다.

  • artifacts는 CodeBuild가 출력 버킷에 업로드하는 빌드 출력 아티팩트 집합을 나타냅니다.files는 빌드 출력에 포함할 파일을 나타냅니다. CodeBuild 는 단일messageUtil-1.0.jar파일에서 찾을 수 있습니다.target상대 디렉토리를 빌드합니다. 파일 이름 messageUtil-1.0.jar 및 디렉터리 이름 target은 Apache Maven이 이 예제에서만 빌드 출력 결과물을 생성 및 저장하는 방식에 따라 달라집니다. 사용자 자체 빌드에서는 이러한 파일 이름과 디렉터리가 다릅니다.

자세한 내용은 buildspec 참조 단원을 참조하세요.

이때 다음과 같이 디렉터리 구조가 나타나야 합니다.

(root directory name) |-- pom.xml |-- buildspec.yml `-- src |-- main | `-- java | `-- MessageUtil.java `-- test `-- java `-- TestMessageUtil.java

다음 단계

3단계: 두 개의 S3 버킷 생성