CodeBuild
Code Commit 과 연계
빌드 프로젝트 생성 클릭
프로젝트 명과 설명을 작성
소스는 CodeCommit 에 있는 소스를 사용하기 때문에 공급자는 AWS CodeCommit 을 선택.
리포지토리는 CodeCommit 원격 저장소에 저장된 리포지토리를 사용한다.
운영체제는 EC2에 설치된 운영체제를 선택한다.
서비스 역할은 새로 입력하거나, 기존 서비스 역할을 이용할 수 있다.
CodeBuild 에서 제일 중요한 buildspec.yml
빌드 명령어를 yaml 파일로 입력하여 실행한다.
buildspec.yml 은 기본적으로 소스 내 root 경로 기준에 위치하도록 하며, 그 외 위치는 경로를 적어주어야한다.
빌드 된 파일을 S3에 업로드하는 작업이다.
선행 작업으로 S3 버킷을 생성 시켜야한다.
buildspec.yml 예제 :
version: 0.2phases:install:runtime-versions:java: corretto8pre_build:commands:- echo Nothing to do in the pre_build phase...build:commands:- echo Build started on `date`- mvn installpost_build:commands:- echo Build completed on `date`artifacts:files:- target/GBMP-1.0.war- appspec.yml- scripts/after_install.sh- scripts/before_install.sh- scripts/start_server.sh- scripts/stop_server.sh#discard-paths: yes
files 에는 빌드하여 구성하려는 목록을 작성한다.
빌드가 성공적으로 이뤄진다면, 아래 목록처럼 해당 파일 및 폴더가 ZIP파일로 S3에 아티팩트가 생성된다.
GBMP.zip 내용 :
위의 아티팩트 이름은 버킷에 패키징하여 생성할 이름
아티팩트 경로는 S3 버킷이름 하위의 폴더 명을 적어주면 된다.(해당 경로가 없을 시에는 자동으로 해당 명으로 생성해준다.)
해당 아티팩트를 암호화하려면 아티팩트 암호화 비활성화 처리.(클릭한다면, S3에 생성된 아티팩트를 다운로드 할 수없다.)
그 후, 생성 버튼을 눌러 생성하면, 빌드 프로젝트에 생성한 빌드 목록이 추가 된다.
해당 빌드 프로젝트를 눌러서 들어가보면,
아래와 같이 빌드 구성에 대해 노출되고, 빌드 했던 내역이 있다면 빌드 기록들이 노출된다.
빌드 시작 버튼 클릭 시,
빌드 시작 전 제한 시간과 소스, 리포지토리, 배포할 브랜치, 커밋 ID를 선택하여 빌드 할 수 있다.
빌드가 성공적으로 완료 된다면 S3 아티팩트 설정과 같이 빌드된 파일(ZIP) 이 생성된다.