AI Briefing

카카오엔터프라이즈, 전사 DevOps 표준화를 위한 GitHub Actions 도입기

·2022.05.06 00:00

핵심 내용

기존 Jenkins 등 분산된 CI 툴을 통합하고, 도커 기반 Runner를 쿠버네티스로 스케일링해 운영 효율을 높였다.

1 / 15

자세히 보기

카카오엔터프라이즈는 전사 DevOps 표준화를 위해 GitHub Actions를 도입했다. 기존에는 Jenkins, Drone, Bamboo 등 프로젝트별 상이한 CI 솔루션을 사용하며 담당자 배정 부담과 협업 시 통합의 어려움이 발생했다. 이에 따라 소스 레파지토리로 GitHub Enterprise를 사용하고, 커밋 시 GitHub Actions를 통해 CI를 수행하며 이미지를 생성해 카카오 i 클라우드 컨테이너 레지스트리에 업로드하는 표준안을 구축했다.

Runner 운영 측면에서는 내부 사정으로 클라우드 Runner를 사용할 수 없어 Self-hosted Runner를 중앙에서 프로비저닝했다. 초기에는 VM 프로세스로 기동했으나, 현재는 Docker를 통해 Runner를 기동하고 Kubernetes 클러스터 위에서 오토스케일링을 적용해 CI 부하에 효율적으로 대응하고 있다. 또한, 보안 위험이 있는 DinD(Docker in Docker) 방식 대신 호스트의 docker.sock을 마운트하는 DooD(Docker out of Docker) 방식을 채택했다.

운영 중 발생한 이슈로는 Node.js, Android, Elixir 등 언어별 프록시 설정 문제가 있었으며, Runner 기본 설정으로 이를 해결했다. 또한, Runner 재사용을 위해 Ephemeral 옵션을 검토 중이나 현재 병렬 Job 처리가 불가능한 이슈가 있어 개선 작업을 진행 중이다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.