개발 중인 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. 블로그를 쓰는 마음에 준비,,,? 이렇게 기록하며 진행이 참 익숙하지 않다.....
무튼 위 사항들을 하나하나 기록하며 진행할 예정이다!
'토이프로젝트 > CICD 도입기' 카테고리의 다른 글
프로젝트 CI/CD 도입기 -6 (CodeDeploy 설정하기-1) (0) | 2024.10.10 |
---|---|
프로젝트 CI/CD 도입기 -5 (Github action으로 s3에 업로드) (1) | 2024.10.08 |
프로젝트 CI/CD 도입기 -4 (EC2에 개발환경 설정,docker, git, compose) (2) | 2024.10.08 |
프로젝트 CI/CD 도입기 -3 (컨테이너화) (1) | 2024.09.30 |
프로젝트 CI/CD 도입기 -2 (환경 설정 분리) (0) | 2024.09.27 |