pile·
인프라 / DevOps·카카오 스타일 (지그재그)카카오 스타일 (지그재그)·

GitHub Actions 활용하기

크로키닷컴(카카오스타일)이 Jenkins → CodeBuild 를 거쳐 GitHub Actions 로 옮기며 실제로 쓰고 있는 워크플로 파일 네 벌을 공개한 글이다. 테스트 자동화, 문서 빌드·업로드, 웹 클라이언트 배포, 출시 후보(RC) 브랜치·PR 자동 생성을 각각 다룬다.

핵심 포인트
  • 자동화가 잘 안 굴러간 이유를 먼저 밝힌다. 마이크로서비스로 잘게 쪼갠 서비스들을 단일 저장소(monorepo)로 관리하던 구조가 걸림돌이었다.
  • 사람이 늘며 저장소를 분리하기 시작했고, 그 시점에 작성이 쉽고 확장성이 좋은 GitHub Actions 를 택했다.
  • 테스트 워크플로는 PR 생성과 master 머지 시 돌며, MySQL 데몬을 띄우고 node_modules 를 캐시해 시간을 줄인다.
  • 문서는 Docusaurus 로 코드와 같은 저장소에서 쓰고, PR 이면 별도 경로로 올려 커밋 상태에 링크를 달아 바로 열어 볼 수 있게 한다.
  • RC 준비는 목요일 새벽 4시 스케줄로 RC 브랜치를 만들고 `github-script` 로 rc→main PR 을 자동 생성한 뒤 슬랙에 알린다.
상세 정리
  • 이력: 유닛 테스트는 초기부터 있었지만 PR·머지마다 자동 수행되지 못했고, 2017년 중반 Jenkins 로 자동 테스트만 붙였으나 워크플로와 어우러지지 못했다.
  • 2019년 CodeBuild 로 전환하며 비로소 PR 에서 테스트 실패 시 머지를 막을 수 있게 됐지만, 매 테스트가 수십 분씩 걸리고 수정도 어려웠다.
  • 테스트 자동화 워크플로: 트리거는 PR 생성과 master 푸시이며, MySQL 은 데몬으로 띄우되 service container 로도 가능하다고 병기한다. Node 14.x 를 쓴다.
  • 실패 시 슬랙 알림을 보내며, 이를 위해 저장소 또는 조직 Secrets 에 슬랙 Webhook URL 을 등록해야 한다.
  • 문서 워크플로: PR 인 경우와 주 브랜치 푸시인 경우를 `if` 로 나눠 별도 step 으로 구현했다. 하나의 step 으로 합칠 수 있을 것 같지만 빠르게 구현하느라 나눴다고 솔직히 적는다.
  • Docusaurus 가 문서를 절대 경로로 생성하므로 빌드 시 경로를 알려줘야 하고, 업로드용 AWS Access Key/Secret Key 는 Secrets 에 둔다.
  • 업로드 후 생성된 주소를 커밋 상태(commit status)에 설정해, PR 화면에서 바로 문서를 열어 볼 수 있게 한 점이 실용적이다.
  • 웹 클라이언트 배포: 백오피스 사이트는 S3 에 올려 운영하며, 이 워크플로는 자동이 아니라 GitHub Actions 화면에서 수동 실행한다.
  • 배포 결과는 성공·실패 각각 슬랙으로 알리며 메시지에 `GITHUB_REF` 와 `GITHUB_SHA` 를 넣어 어떤 커밋이 나갔는지 남긴다.
  • RC 워크플로 전제: 기본 브랜치 기준으로 실행되므로 개발 브랜치가 기본 브랜치여야 한다.
  • RC PR 제목은 스크립트로 계산한다. UTC 기준 수요일 저녁을 기준 날짜로 삼아 그 달의 몇 주차인지 구해 "YYYY년 M월 N주" 형태로 만든다.
  • 변경 내용이 없으면 PR 을 만들지 않고 그 사실을 슬랙에 알리도록 분기해 둔다.
왜 읽나CI 를 GitHub Actions 로 옮기려는 팀에게 테스트·문서·배포·릴리즈 준비까지 실제 운영 중인 워크플로 구성을 통째로 보여준다.
카카오 스타일 (지그재그)
카카오 스타일 (지그재그) 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 인프라 / DevOps·AWS KoreaAWS Korea Tech·

    엔터프라이즈 보안 요구사항을 충족하는 프라이빗 Amazon Bedrock AgentCore 구축하기

    Amazon Bedrock AgentCore의 VPC egress 기능(2026년 4월 추가)을 활용해 온프레미스 LLM·사내 IdP·사내 MCP 서버에 인터넷 노출 없이 연결하는 방법을 다룬다. 규제 산업 엔터프라이즈가 기존 사내 자산을 그대로 유지하면서 Bedrock AgentCore를 안전하게 구축하기 위한 구성 가이드다.

    요약 이어보기
    #mcp#amazon-bedrock#vpc+2
  2. 인프라 / DevOps·gitlab-engGitLab Blog·

    OpenTofu와 Argo CD로 구성하는 GitLab 기반 AWS 제어 플레인

    GitLab을 단일 제어 플레인으로 삼아 OpenTofu로 AWS 인프라를 프로비저닝하고, Argo CD로 GitOps 기반 애플리케이션 배포까지 자동화하는 엔드투엔드 튜토리얼이다. VPC·EKS 클러스터 구성부터 Helm 기반 툴 설치, 샘플 앱 배포까지 모든 과정이 GitLab CI/CD 파이프라인으로 연결된다.

    요약 이어보기
    #kubernetes#aws-eks#gitops+2
  3. 인프라 / DevOps·AWS KoreaAWS Korea Tech·

    Amazon Bedrock 기반 사내 LLM, 키 발급부터 비용 차단까지: F&F의 LiteLLM 게이트웨이 운영 사례

    패션 기업 F&F가 Amazon Bedrock과 LiteLLM 프록시를 결합해 구축한 사내 LLM 플랫폼 운영 사례다. API 키 셀프서비스 발급, 모델별 접근 승인 워크플로, 사용자·프로젝트별 예산 자동 차단까지 전 과정을 직접 구현한 아키텍처 결정과 운영 교훈을 공유한다.

    요약 이어보기
    #kubernetes#amazon-bedrock#litellm+2