CodeBuild 란?
- 클라우드상의 완전관리형 빌드 서비스
- 소스코드를 컴파일하고 단위 테스트 실행
=> 코드빌드 사용 시 장점
- 완전 관리형 : 빌드 서버를 직접 설정하여 패치 및 업데이트를 적용할 필요가 없음
- 주문형 : 빌드 요구 사항에 따라 조정됨, 사용한 빌드 시간만큼 요금 지불
- 아웃 오브 더 박스 : 프로그래밍 언어에 맞게 사전 구성된 빌드 환경을 제공, 빌드 스크립트를 선택하여 시작하면 됨
CodePipeline 란?
- 소프트웨어 릴리즈에 필요한 단계를 모델링, 시각화 및 자동화 하는데 사용할 수 있는 지속적 전달 서비스
- 신속한 모델링 구성 가능
- 소프트웨어 변경 사항을 지속적으로 릴리스하는 데 필요한 단계 자동화 가능
CodeDeploy 란?
- EC2 인스턴스, 온프레미스 인스턴스, 등 어플리케이션 배포를 자동화하는 배포 서비스
- 다양한 어플리케이션 콘텐츠 무제한(거의) 배포 가능
배포 자동화 란?
- 한 번의 클릭 또는 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것을 뜻함
- 수동적이고 반복적인 배포 과정의 자동화르르 통한 시간절약 가능
- 휴먼에러 방지
배포 자동화 파이프 라인
- 소스코드 관리부터 실제 서비스로의 배포 과정을 연결하는 구조
- 각 단계마다 주어진 작업(Actions)을 수행
* 배포 자동화 실습
A. 클라이언트 배포 파이프 라인 구축
1. CodeBuild 에 필요한 buildspec.yml 파일 생성 (EC2가 아닌 로컬로 레포지토리 clone 하여 진행함)
version: 0.2
phases:
pre_build:
commands:
- cd client // 빌드 전 실행 될 명령어
- npm install
build:
commands:
- npm run build
artifacts:
files:
- '**/*'
base-directory: client/build
2. 변경 사항 저장 후 commit 및 push (git hub로)
3. 파이프라인 구축
- AWS codepipeline 검색
- 파이프라인 생성 클릭
- 파이프라인 설정 선택
- 소스 공급자 선택 (git hub 버전 2)
- Git hub 연결
=> Git hub 연결 클릭 -> 연결이름 작성 -> Git hub 연결 클릭 -> 새 앱 설치 -> 본인 git ID 선택 -> 해당 레포짓토리 선택 -> Install
-> Github 앱 선택 후 연결
- 레포짓토리 및 브랜치 선택
- 빌드 공급자 선택 (AWS CodeBuild)
- 프로젝트 생성
-> 파이프라인 계속 -> 다음
- 배포 스테이지 추가 (Amazon S3) -> 파이프라인 생성
- 각 스테이지 별 성공 / 실패 여부 확인
** 확인 사항 (오류사항 확인)
- S3 내 버킷이 새로 생성됨 - 정상임
- 파이프 라인 내 오류 체크 -> 세부정보 -> 맨 하단 부 이벤트 뷰 확인