토스ㅣSLASH 23 - 유연하고 안전하게 배포 Pipeline 운영하기 - 2 (Pipeline, CI/CD 개념)

박원균·2023년 7월 20일
0

토스 Slash 2023

목록 보기
2/9

토스ㅣSLASH 23 - 유연하고 안전하게 배포 Pipeline 운영하기 - 1 (기술 정리)

 [토스ㅣSLASH 23 - 유연하고 안전하게 배포 Pipeline 운영하기 - 1 (기술 정리)

토스 Slash 23에서 나오는 운영 방법 영상 속 개념, 도구 Pipeline Pipeline 운영 전략 (중앙화) GoCD(Go Continuous Delivery) - 도구 gocd-yaml-config-plugin GoCD Pipeline Wizard Pipeline As Code (PAC) GoCD Template Helm Template CI (Co

crongb.tistory.com](https://crongb.tistory.com/13)

위 포스팅에서 나온 개념 중 pipeline에 대한 개념을 설명하겠습니다.

Pipeline 이란?

사전적 정의로는 "석유나 천연가스를 수송하기 위해 매설한 관로 "가 있습니다. 그러니 액체나 기체 같은 물질들을 원하는 목적지까지 이어주는 경로의 역할을 할 수 있습니다. 리눅스를 사용해보신분들이라면 흔히 한번씩은 사용한 명령어도 파이프 라인으로 불리우고 있습니다.

ls 명령어로 해당 디렉토리 파일들을 가지고 와서 `grep` 명령어로 필터링하여 1 이 포함된 파일들을 출력했습니다

ls -> 전달 -> grep 

그럼 본격적으로 운영에서 사용하는 파이프 라인을 적어보도록 하겠습니다.

Devops에서의 Pipeline

서비스를 제공 위해서는 여러 단계를 거쳐야 다른 사람들이 이용할 수 있습니다. 

위 사진에서 보듯 commit을 하고 빌드를 한 다음 여러 단계를 거치고 나서야 배포가 가능합니다 물론 저 단계를 전부 거쳐야 할 필요는 없습니다. 하지만 안정적인 서비스 제공을 해야한다면 위 단계들을 거치는게 더욱 좋아집니다. 

만약, 당신이 feature를 개발하고 서비스에 추가된 상태로 배포하기 위해서는 항상 저 단계를 지나야 할 것입니다.

벌써 부터 머리가 아파오죠? 빌드하는데 시간이 걸려서 잡아 먹고 유닛 테스트 하는데 또 얼마간 지나고 마냥 기다리며 지켜보는데 어지럽습니다. 그래서 등장한게 CI/CD입니다.

CI/CD

CI/CD의 주 목적은 품질 저하 없이 사용자에게 소프트웨어를 전달하는데 시간을 줄이는 것입니다.

CI (Continuous Integration) - 지속적 통합

개발된 feautre를 여러가지 검증들을 거지고 빌드 하기까지의 과정을 자동화한 파이프 라인 중 일부 경로입니다.

CD(Continuous Delivery) - 지속적 배포

빌드에서 배포하기 까지의 과정을 자동화한 파이프 라인 중 일부입니다.

영상 속 내용

반복하는 일을 자동화하는 시스템

- 서비스 빌드 배포

- 라이브러리 업로드

- 작업 자동화

profile
함바라기

0개의 댓글