⚙️ Ops/CI & CD

CI & CD Tool 선정

신건우 2023. 5. 23. 16:03

💡 배포 자동화 계획

  • 최대한 무료 & 저렴한 CI & CD Tool 선정
  • Serverless면 더 좋음
  • 관리 용이성

아마 Self-Hosted-Runner를 이용한 Github Actions를 사용할 것 같다.


Candidates

Jenkins

  • 구동환경 : Cloud, On-premise
  • No Serverless
  • 직접 버전관리 필요
  • 무료

Circle

  • 구동환경 : Cloud, On-Premise
  • 배포 가능한 AWS 서비스 : [ S3, CodeDeploy, ECS, EKS ] + ECS 지원
  • 1번에 1개의 Job 수행 가능
  • 주당 2500, 1달 10000크레딧 제공
  • 사용자 수 : 처음 3명까지는 인당 15$ 이후 1명당 15$
  • 25000 크레딩닷 15$
  • 2 CPU, 4GB Mem 기준 1분당 10 크레딧 사용

Trabis

  • 구동환경 : Cloud
  • 배포 가능한 AWS 서비스 : [ CodeDeploy, Elastic Beanstalk, Lambda, OpsWorks, S3 ] + ECS 미지원
  • Open Source 한정 무료
  • 유료 플랜 : 69$ / month

Github Actions + AWS Code Deploy

  • Public Repo : 무료
  • Private Repo : 기본 500MB, 2000분 무료
  • 유료 플랜 : 리눅스 2코어 기준 분당 0.0008$ / 맥 12코어 기준 0.32$
  • Self Hosted Runner 이용 시, 로컬에 Runner 설치하여 빌드 요금 패스
  • Github Actions Build Spec. : 2 CPU, 7GB Mem, 14GB SSD
  • Code Deploy : EC2에 배포시 무료, 온프레미스 서버 배포 시 업데이트당 0.02$
  • AWS Access Key 등 Secret Key를 Github Secret으로 관리 or Spring Cloud Config 활용

AWS CodeDeploy + AWS CodePipeline

  • EC2에 배포할 것이기 떄문에 Code Deploy는 무료
  • 1개의 무료 활성 파이프라인 제공, 추가 파이프라인 당 월 1$
  • AWS IAM Access Key 관리 필요 없음