소프트웨어 전문지 마이크로소프트웨어 394호는 클라우드(Cloud)와 백엔드(Back-End)를 주제로 담았습니다. CI/CD, 데브옵스, PaaS, 마이크로서비스 아키텍처 등 마소 394호의 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]

데브옵스는 개발(Develop)과 운영(Operation)을 통합한 개념이다. 개발과 운영 사이 비용을 낮추고, 갈등을 개선하기 위한 방법론이다. 데브옵스 개념에서는 기존과 달리 하루 2~3회 배포도 가능해 모바일 시장에 적합하고 초기 비즈니스에 빠르게 적용할 수 있다. 물론 개발과 운영이 통합됐기 때문에 개발팀은 서비스 운영도 알아야 한다는 비용이 생긴다.

CI(Continuous Integration)는 지속적인 통합으로 여러 작은 단위의 릴리즈 버전 업무를 통합해 자동 빌드로 오류와 테스트를 처리하는 도구다. CD(Continuous Delivery)는 지속적인 배포로 CI에서 빌드된 애플리케이션을 자동으로 배포하는 방법이다. CI/CD를 파이프라인(Pipeline)으로 묶으면 빠르게 테스트하고 배포할 수 있다.

오버노드는 젠킨스(Jenkins)와 랜처(Rancher)로 CI/CD 파이프라인을 구축했다. 젠킨스에서 CI를 위한 빌드를 하기 전 로컬에서 프로젝트를 통합해야 한다. 오버노드는 지라(Jira)에서 진행 중인 태스크를 로컬에서 작업 완료하면 피처 브랜치(Feature Branch)를 개발 브랜치(Dev Branch)에 푸시(Push)하는 통합 과정 만들었다.

젠킨스 파이프라인은 그루비(Groovy) 스크립트로 작성할 수 있다. 어드민 웹을 사용하는 방법과 젠킨스 파일을 이용하는 방법이 있다. 오버노드는 좀 더 효율적인 자동화 관리를 위해 젠킨스 파일을 깃랩에서 관리한다. 이는 CD에서도 마찬가지다.

오버노드 CI 흐름도. / 마이크로소프트웨어 394호 발췌
오버노드 CI 흐름도. / 마이크로소프트웨어 394호 발췌
스타트업은 특성상 기존 기업보다 새롭게 도입되는 인프라 설계를 할 때 제약조건이 적어 선택의 자유도가 높다. 덕분에 이번 데브옵스 방법론 적용도 새롭게 도전해보고 배울 수 있었다. CI/CD 적용 후 배포와 빌드에 들어가는 시간과 비용이 줄어들었고, 좀 더 비즈니스 아이디어를 생각할 시간이 많아졌다. 덕분에 새로운 개발에 몰두할 수 있었다.

이 글을 읽고 있는 독자가 우리와 같은 스타트업이거나 혹은 변화하는 시장 성격에 맞춘 아키텍처의 필요성을 느끼는 프로젝트 개발자라면, CI/CD를 숙제로 미루지 말고 도전해보면 어떨까?

박상후, 김태현, 김의연 필자의 ‘스타트업의 좌충우돌 CI/CD 구성’에 대한 자세한 내용은 ‘마이크로소프트웨어 394호(https://www.imaso.co.kr/archives/3939)’에서 확인할 수 있다.


관련기사