카카오웹툰, GitHub Actions로 멀티 리전 배포 및 자동화 구현기
핵심 내용
카카오웹툰 개발자가 GitHub Actions를 활용해 테스트 자동화, 슬랙 알림, 멀티 리전 배포 및 스케줄링 배포를 구현한 사례를 공유했다.
자세히 보기
카카오웹툰 프론트엔드 개발자가 GitHub Actions를 활용한 CI/CD 파이프라인 구축 경험을 공유했다. 주요 내용은 다음과 같다:
-
테스트 및 알림 자동화: push 이벤트 발생 시 리눅스 환경에서 Node.js 테스트(lint, tsc, build)를 실행하며,
node_modules캐싱을 통해 불필요한npm install을 건너뛴다. 실패 또는 성공 시 자체 제작한 Composite Action을 통해 슬랙으로 알림을 전송한다. -
멀티 리전 배포: 글로벌 서비스 특성에 맞춰
deploy/[region]/[env]/[name]형식의 브랜치 네이밍 규칙을 적용했다. 브랜치 이름에서 지역(kor, twn, tha)과 환경(qa, sandbox, real)을 추출하여 해당 지역의 AWS 설정값(Secrets)을 불러오고, 이에 맞는 빌드 및 배포를 수행한다. -
스케줄링 배포:
schedule이벤트를 이용해 평일 오전 9시에 자동으로 배포를 실행한다.actions/cache를 활용해 커밋 SHA를 비교하여 변경 사항이 있을 때만 배포 스텝이 실행되도록 최적화했다. -
GitHub CLI 적용: 최근에는 브랜치 push 대신 GitHub CLI를 사용하여 워크플로우를 트리거하고 필요한 정보(region, env)를 인자로 전달하는 방식으로 배포 프로세스를 개선하였다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.