토이프로젝트/CICD 도입기

프로젝트 CI/CD 도입기 -1

to,min 2024. 9. 27. 14:54

 

개발 중인 React , Express 프로젝트에 CI/CD를 도입하려 한다.

현재 Github action + Jira 조합으로 사용 중인 업무 프로세스도 있고, 이전 Gitlab CI/CD를 사용하여 DevOps를 구축한 경험이 있어, Github action을 기반으로 구축하려 결정했다.

 

아래는 고려 중인 프로세스를 정리한 표이다.

 

github Action을 어떤 역할까지 사용할지, AWS 서비스들을 어디까지 활용할지가 결정해야 할 Key point였다.

 3. Github Action -> s3 -> ec2 Docker build&push를 선택했다

 

선택한 근거 

1.  비용

- 당장 서비스가 오픈되지 않고, 유저 수가 적기 때문에 AWS ECS 나 ECR을 바로 도입 부담이 되었다.

 

2. 컨테이너화

- 2번 방식은 구현이 간단하고 비용도 적게 들지만, 추후 확장성 및 유지관리에선 컨테이너 배포를 따라가지 못한다 생각하여 제외했다.

 

3. Github Action의 종속성?

- 이전 타 시스템 연동했을 때부터 느낀 점은, Action의 종속성을 낮추고 싶었다. (내가 잘 다루지 못해서 그렇지만 뭔가 디버깅이 어려웠달까,,, )

 

4. 확장성

- 3번 프로세스는 컨테이너화, AWS 위의 빌드/배포 등 추후 ECR , ECS 혹은 EKS 등 확장하기에 쉬워 보였다 

 

 

CI/CD 전 준비 사항

1. 개발 환경 내 Config를 dev, prod 환경 분리 

2. 개발 소스 컨테이너화

3.  AWS 기반 준비 (EC2 도커 설치나 IAM 등.. 예상)

4. CodeDeploy 설정 

5. Trigger 설정 (S3 업로드 시 CodeDeploy 트리거)

6. 블로그를 쓰는 마음에 준비,,,? 이렇게 기록하며 진행이 참 익숙하지 않다.....

 

무튼 위 사항들을 하나하나 기록하며 진행할 예정이다!