본문으로 이동
유연하고 안전하게 배포 Pipeline 운영하기
문서

유연하고 안전하게 배포 Pipeline 운영하기

김동석 토스 · 토스 기술 블로그

원문 보기

AI 핵심 요약

400개가 넘는 GoCD Pipeline을 운영하면서 웹 UI만으로는 설정을 찾고 비교하거나 변경 이력을 추적하기 어려웠고, 복사·붙여넣기와 공통 변경 과정에서도 실수가 발생했습니다. 토스뱅크는 gocd-yaml-config-plugin으로 설정을 YAML 파일화해 Git에서 관리하고, 공통 동작은 Template으로 재사용하도록 했습니다. Template 관리에는 Pipeline 설정과 함께 저장할 수 있고 조건문으로 일부만 시험할 수 있는 Helm Template을 도입했으며, GitHub Actions CI에서 Rendering 결과를 검증해 의도치 않은 변경을 감지하도록 했습니다. 설정을 코드로 관리하고 재사용·테스트 가능하게 만들면 대규모 Pipeline도 더 잘 파악하고 안전하게 변경할 수 있다는 점을 보여줍니다.

  • GoCD 설정을 YAML로 저장하고 Git에서 관리하면 Pipeline 목록과 단계, 변경 이력을 한곳에서 확인할 수 있습니다.
  • 공통 동작은 Template으로 추상화하고 서비스별 차이는 Values로 주입해 복사·붙여넣기 실수를 줄이세요.
  • Helm Template의 조건문을 활용해 변경을 일부 Pipeline에서 먼저 검증하면 전체 적용 시의 위험을 낮출 수 있습니다.
  • Rendering 결과를 기준 파일과 비교하는 CI를 구성하고, 예상치 못한 차이가 있으면 반영을 막아 검토와 알림을 유도하세요.

소개

생산성, 안정성, 보안성을 모두 달성하기 위해선 ‘Pipeline’을 어떻게 설정해야 할까요? 다양하고 복잡한 토스뱅크의 배포 ‘Pipeline’를 안전하게 운영하기 위한 노력을 소개합니다.

비슷한 학습 자료

컨퍼런스 SLASH

생산성, 안정성, 보안성을 모두 달성하기 위해선 ‘Pipeline’을 어떻게 설정해야 할까요? 다양하고 복잡한 토스뱅크의 배포 ‘Pipeline’을 안전하게 운영하기 위한 노력을 소개합니다. 김동석 / 토스뱅크 DevOps Engineer 발표 자료 👉🏻 https://bit.ly/42pgzIN 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #pipeline #helmtemplate #devopsengineer #토스뱅크 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행...

데브옵스 · 인프라

문서 김영재/조성현

열악한 보안 환경에서 출발하여 업계 최고 수준의 보안 체계를 구축하기까지, 토스페이먼츠가 걸어온 보안 여정을 공유합니다.

보안

문서 나재은

토스페이먼츠 서버플랫폼 팀이 '설정' 하나로 얼마나 깊이 고민하고 문제를 해결해왔는지 공유해 드려요.

데브옵스 · 인프라 시스템 · 운영체제

문서 김선우

어떠한 요구사항도 수용할 수 있는 기능은 어떻게 만들 수 있을까요? 토스증권에서 유저에게 노출하는 배너 기능을 어떻게 유연하고 확장 가능하게 구현하였는지 공유 드려요.

백엔드

문서 김용우

문제 없이 여러 데이터들을 CDC를 통해 제공하던 어느 날, 근본적인 질문이 떠오릅니다. 우리의 CDC는 얼마나 잘 운영되고 있는가? CDC가 잘 운영되고 있다는걸 우리는 어떻게 믿을 수 있을까?

데이터베이스 데브옵스 · 인프라

문서 한재엽

이미 운영 중인 제품을 전부 갈아엎고 다시 만드는 경험을 하기는 어려운데요. 운 좋게 팀 내 공감대가 형성되어 여러 팀원과 하나의 제품을 온전히 개선해 볼 수 있었어요. 이 글에서는 구체적인 개선 내용에 앞서 어떻게 프로젝트를 셋업하고 진행했는지 소개할게요.

프로덕트 매니지먼트 애자일 · 협업