카카오웹툰은 GitHub Actions를 어떻게 사용하고 있을까?
두줄요약
GitHub Actions로 push 테스트, 캐시, Slack 알림을 자동화한 사례를 소개했습니다. 브랜치명·Secrets·스케줄을 활용한 지역별 AWS 배포 흐름도 설명합니다.
구조와 흐름
- push 이벤트 기반 React 프로젝트의 lint·TypeScript 검사·build 자동화 workflow
- checkout, Node.js 설정,
actions/cache기반node_modules재사용, npm 스크립트 순차 실행 - 실패 이후에도
always()로 모든 검사 수행, 성공·실패 조건별 Slack 알림
해결 방법
- Composite Action으로 Slack 웹훅 알림 로직 분리 및 여러 workflow에서 재사용
- 배포 브랜치명에서 region·env 추출 후 AWS Secrets, 빌드·배포 Action에 전달
- schedule 이벤트와 커밋 SHA 캐시 비교를 통한 변경 시점의 평일 자동 배포
성능/운영 포인트
package-lock.json해시 기반 캐시 키로 의존성 변경 때만npm install수행- 민감한 Node 버전, Slack URL, AWS 자격 증명의 GitHub Secrets 관리
- 지역·환경별 배포 대상 분리와 실행 결과 Slack 알림 연계
주의할 점
- schedule workflow의 기본 브랜치 기준 실행과 정시 실행 보장 부재
- 브랜치 기반 배포 규칙의 팀 단위 약속 필요
- GitHub CLI 전환 시 branch 파싱 대신 실행 인자로 region·env 전달




