devops

배포 자동화와 AWS 개발자 도구 본문

DevOps/AWS

배포 자동화와 AWS 개발자 도구

vata500 2022. 6. 6. 17:29
반응형

배포 자동화

배포 자동화는 한 번의 클릭, 명령어 입력을 통해서 전체 배포 과정을 자동화하는 것을 말한다. 

- 수동적이고 반복적인 과정을 자동화시켜 시간을 절약할 수 있다.
- 휴먼 에러(Human Error)를 방지할 수 있다.

배포 자동화 파이프라인

소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조를 파이프라인이라고 한다. 파이프라인은 전체 배포 과정에서 여러 단계로 분리한다.

각 단계는 파이프라인 안에서 순차적으로  실행되며, 단계마다 주어진 작업을 수행한다.

1. Source 단계 : 원격 저장소에 관리되는 소스코드에 변경 사항이 일어나게 되면 이를 감지하여 다음 단계로 전달하는 작업을 한다.

2. Build 단계 : Source 단계에서 전달받은 코드를 컴파일, 빌드, 테스트하여 가공한다. Build 단계에서 생성된 결과물을 다음 단계로 전달한다.

3. Deploy 단계 : Build 단계에서 전달받은 결과물을 실제 서비스에 반영한다.

+ 파이프라인의 각 단계는 상황과 필요에 따라서 더 세분화되거나 건소화될 수 있다. 

AWS 개발자 도구 

AWS에는 개발자 도구 섹션이 존재한다. 개발자 도구 섹션에서 제공하는 서비스를 활용하여 배포 자동화 파이프라인을 구축할 수 있다.

CodeCommit

Source 단계를 구성할 때 CodeCommit 서비스를 이용한다. CodeCommit는 Github와 유사한 서비스를 제공하는 버전관리 도구이다.

Github에 비해서 보안에 강점이 있다. 소스코드의 유출에 크게 영향을 받는 기업이라면 매우 중요하다. 그러나 CodeCommit는 과금이 발생하기 때문에 작은 프로젝트의 경우 Github를 사용하는 것이 유리하다.

CodeBuild

Build단계에서 사용하는 서비스다. CodeBuild 서비스를 통해서 유닛 테스트, 컴파일, 빌드와 같은 빌드 단계에서 필수적으로 실행되어야할 작업을 명령어로 할 수 있다.

CodeDeploy

Deploy단계를 구성할 때는 기본적으로 다양한 서비스를 이용할 수 있다. 서버 어플리케이션에 실시간으로 변경사항을 전달할 수 있으며, S3 서비스를 통해 S3 버킷에서 업로드된 정적 웹사이트에 변경 사항을 실시간 전달하고 반영 가능하다.

CodePipeline

각 단계를 연결하는 파이프라인을 구축할 때 사용한다.

 

 

반응형
Comments