Step
Step 1. 개념 : 현재글
Step 2. AWS Pipeline : https://radpro.tistory.com/339
Step 3. 서버 환경 변수 설정 : https://radpro.tistory.com/342
Step 4. Github Actions : https://radpro.tistory.com/340
CI / CD
: 지속적 통합 (Continuous Integration) / 지속적 배포 (Continuous Deployment)
: 배포자동화보다 상위개념
: 참고링크 ( https://seosh817.tistory.com/104 )
CI : 빌드/테스트 자동화 과정
CD : 배포 자동화 과정. 지속적인 서비스 제공 또는 지속적인 배포
배포 자동화
: 한 번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것
단계(Stages) : 전체 배포 과정을 나눈 것. 파이프라인 안에서 순차적 실행
작업(Actions) : 각 stage마다 수행되는 것
파이프라인 : 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조
: Source단계 => Build단계 => Deploy단계
0. CodePipeline : pipeline 구축
1. Source 단계 : remote repository에 관리되고 있는 소스 코드에 변경사항이 일어날 경우 감지. 다음단계로 전달
: Github 사용시, Github 레포지토리를 연결
2. Build 단계 : 전달받은 소스 코드를 컴파일, 빌드, 테스트하여 가공. 다음단계로 전달
: CodeBuild 서비스를 이용해 EC2 인스턴스로 빌드된 파일 전달
3. Deploy 단계 : 전달받은 빌드 파일을 실제서비스에 반영
: CodeDeploy 서비스를 이용해 EC2 인스턴스에 변경사항을 실시간으로 반영
AWS 개발자 도구
: 배포 자동화 파이프라인 구축 가능하게 해주는 도구
CodeCommit | source 단계 구성시 사용 버전관리 도구 (Github와 유사하나 보안 관련기능 강점) |
CodeBuild | Build 단계에서 사용 유닛 테스트, 컴파일, 빌드 등의 작업을 명령어를 통해 실행 * 사용자가 작성한 buildspec.yml 파일을 참조하여 작업을 수행 (파일구조와 생명주기 참고문서) |
CodeDeploy | Deploy 단계에서 사용 CodeDeploy 사용시, 실행되고 있는 서버 애플리케이션에 실시간으로 변경사항 전달 가능 S3를 변용해, S3 버킷을 통해 업로드 된 정적 웹 사이드에 변경사항을 실시간으로 전달하고 반영 가능 * 사용자가 작성한 appspec.yml 파일을 참조하여 작업을 수행 (파일구조와 생명주기 참고문서) |
CodePipeline | 각 단계를 연결하는 파이프라인을 구축할 때 사용 * 프리티어 계정은 두 개 이상의 파이프라인 생성시 추가요금 발생 |
기타 용어 및 개념
IAM (AWS Identity and Access Management) 공식문서
: AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스
: 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어
'Codestates [Back-end] > 데일리 로그 [TIL]' 카테고리의 다른 글
22.10.07 Cloud - 배포 자동화 [Step 4. GitHub Actions] [진행중] (0) | 2022.10.06 |
---|---|
22.10.06 Cloud - 배포 자동화 [Step 2. AWS Pipeline] (0) | 2022.10.06 |
22.10.05 Docker - 명령어 (0) | 2022.10.05 |
22.10.05 Docker - 개념 (0) | 2022.10.05 |
22.10.04 Step 3. 데이터베이스 연결 [ RDS ] (0) | 2022.10.01 |