본문 바로가기
AWS/CICD

[기록] AWS CICD 교육

by study4me 2024. 4. 30.
반응형

0. 용어 설명

  • Airtifact:
  • 소스 코드 빌드 : 소스 코드 파일을 실행 가능한 소프트웨어 산출물(패키지, 아티팩트 등)로 변환하는 과정
  • 빌드 과정 단계
    - 컴파일(Compile) : 시스템이 이해할 수 없는 소스 코드를 시스템이 이해할 수 있는 언어로 변환
    - 링크(Link) : 컴파일 단계에서 생성된 객체 파일들을 연결하여 실행파일을 생성
    - 테스트(Test) : 링크 과정을 거친 실행 파일이 정상적으로 작동하는지 확인

1. CICD

1) CICD란?

Continuous Integration + Continuous Delivery(또는 Deployment)
지속적 통합 + 지속적 배포
변경된 코드 자동 통합, 빌드, 테스트 + 자동 배포(+모니터링)

2) CICD Pipeline

코드 > 빌드 > 테스트 > 프로비저닝 > 배포 > 모니터링

2. AWS Code 시리즈

1) CodePipeline

소스 공급자, 빌드 공급자, 배포 공급자로 구성
소스 공급자는 필수, 빌드 및 배포 공급자는 둘 중 하나만 있어도 되고, 둘 다 추가할 수 있음.

2) CodeCommit

CodeCommit은 Repository에 소스 코드를 저장하고 Git을 사용하여 소스 코드의 버전을 관리하는 서비스.
CodeCommit 서비스에는 Repository라는 리소스 유형이 있음
요약 : 코드 저장소 + Git 기반 서비스

3) CodeBuild

소스 코드를 컴파일하고 테스트를 실행한 다음 바로 배포 가능한 소프트웨어 패키지를 생성할 수 있는 서비스
CICD Pipeline에서 빌드&테스트 단계에 해당
CodeBuild를 실행할 때, 컴퓨팅 자원이 필요함.


Build Spec 파일 : CodeBuild가 빌드를 실행하는데 사용하는 YAML 형식의 빌드 명령 및 관련 설정의 모음 파일
 - version: 사용중인 빌드 사양 표준 버전
 - phases: 명령을 실행하도록 지시할 수 있는 빌드 단계
 - artifacts: 출력 버킷에 업로드하는 빌드 출력 아티팩트 세트

4) CodeDeploy

배포 서비스
AppSpec 파일 : 배포 스펙 파일로 배포 프로세스를 정의하고 CodeDeploy가 애플리케이션을 배포할 때 수행해야 하는 작업을 세부적으로 설정
 - version: AppSpec 파일의 버전을 지정
 - os: 배포할 인스턴스 운영체제의 값 지정
 - files: 설치 이벤트 중 인스턴스에 복사해야하는 파일 지정
 - hooks: 특정 배포 수명주기 이벤트에서 실행되는 스크립트 지정

 

배포 유형
- In-Place 배포: 기존 인프라에 배포
- Blue/Green 배포: 이전 버전과 완전히

반응형