코드스테이츠_국비교육/[Section4]

75.01_[Cloud] 배포 자동화_22.12.07

생각없이 해도 생각보다 좋다. 2022. 12. 7. 23:23

>배포 자동화
: 한 번의 클릭 혹은 한 번의 명령어 입력으로 전체 배포 과정을 자동으로 진행하는 것을 뜻함.

//배포 과정 흐름에 대한 공부

>배포 자동화의 이점
-시간 절약
-휴먼 에러 방지

>배포 자동화 관련 용어
-파이프라인(Pipeline)
: 소스 코드 관리부터 서비스 배포까지 일련의 과정 전체를 의미함.
: 배포 자동화는 곧 파이프라인의 재실행을 의미.

-스테이지(Stages)
: 파이프라인을 단계적으로 쪼갠 단위
: 배포 자동화가 이루어지기 위해 스테이지가 순차적으로 이루어짐.
: 대표적인 스테이지의 예시로 (1)Source stage (2)Build stage (3)Deploy stage가 있음.
: 스테이지는 필요에 따라 더 세분화되거나 간소화될 수 있음.
/*
- 파이프라인 예시
(1)Source - (2)Build - (3)Deploy
- 스테이지 : 액션 예시
(1)Source : 원격 저장소에 관리되는 소스 코드에 변경이 일어날 경우, 다음 단계로 소스 변경사항을 전달함.
(2)Build : Source 단계에서 전달받은 코드를 컴파일, 빌드, 테스트를 통해 가공함. Build 생성물을 다음 단계로 건넴
(3)Deploy : 전달받은 Build 생성물을 실제 서비스에 반영함.

-액션(Actions)
: 각 단계, 즉 스테이지 내부에서 이루어지는 작업들을 의미함.

>개발자 도구(AWS)
: 배포 자동화를 위해 AWS에서 제공하는 개발자 도구

-CodeCommit
: Source 단계를 구성할 때 이용하는 서비스 도구.
: github와 같은 버전 관리 도구이지만, github보다 보안에 유리함. 하지만 과금 요소가 존재함.

-CodeBuild
: Build 단계를 구성할 때 이용하는 서비스 도구.
: 유닛 테스트, 컴파일, 빌드와 같은 작업을 필요한 명령어로 실행할 수 있게 도움.

-CodeDeploy
: Deploy 단계를 구성할 때 이용하는 서비스 도구.
: 서버 애프리케이션에 실시간으로 변경 사항을 전달할 수 있음.

-CodePipeline
: 각 stages를 연결하는 파이프라인을 구축할 때 이용하는 서비스 도구.