GitLab Case Study.
Wish

Wish는 100여 개국의 5대 쇼핑 애플리케이션 중 하나입니다. 전자상거래 소매 플랫폼은 소비자들에게 글로벌 상인을 제공하고 소기업들에게 전 세계 수백만 명의 고객들과 연결해줍니다. Wish는 하나의 솔루션으로 모든 요구를 충족할 수 있는 CI 툴을 찾고 있었습니다.

서비스

소매업

직원수

700명

선택한 라이센스

Premium

Challenge

Wish는 CI와 빌드 관리를 위해 TeamCity를 사용했지만 자동화된 작업은 계속 실패하였습니다. CI 환경은 불안정한 상태였고, 툴의 가시성이 부족했기 때문에, 어디에서 문제가 일어나고 있는지 파악하기 어려웠습니다. Wish의 자동화 인프라 책임자는 '매우 오래된 TeamCity 인스턴스를 사용했는데, 제대로 작동이 유지되지 않았으며 최소 6개월 이상, 아마도 1년 동안 고장난 상태였다'고 말했습니다.

TeamCity에서 파이프라인을 만들려면 UI를 거쳐야 합니다. 그렇기 때문에 파이프라인에 작성되어 있는 것과 Git 저장소에 사용할 수 있는 것이 일치하지 않을 수도 있습니다. 만약 일치하지 않아서 파이프라인이 실패하면 모든 테스트, 빌드 또는 배포가 차단될 수도 있습니다. 차단된 일을 되돌리는 것은 어렵습니다. TeamCity였다면 누군가가 파이프라인을 바꿔도 어떻게 수정되었는지 모를 것입니다. CI가 실행하려고 했던 스크립트에서 실행되던 것과 CI가 실행될 수 있도록 [Git]에서 사용할 수 있는 스크립트가 서로 다소 맞지 않는 부분이 발생합니다.

또, TeamCity는 제한적인 라이센스를 가지고 있는데, 이는 Wish가 실행할 수 있는 에이전트 수를 제한해야 한다는 것을 의미합니다. 제한으로 인해 모든 커밋을 테스트할 수 없었고, 매시간마다 테스트를 봐야하는 일과가 생겨났습니다. 그리고 한 시간 안에 너무 많은 커밋이 발생하면 테스트 할 수 없기 때문에 어떤 커밋이 이슈를 일으켰는지 모르는 일도 발생했습니다.

개발팀은 자체 개발한 툴체인 SCM용 GitHub와 Phabricator를 코드 검토에 사용했습니다. 통합(Integration)의 약점은 최적의 상태가 아닌 불안정을 초래했습니다. 모니터링 능력도 부족하여 또 다른 GitHub 저장소와의 탄탄한 통합을 찾고 있었습니다.

Result
단순한 CI 툴
그 이상
Wish는 GitLab의 CI 기능을 평가하고 정착한 후 GitLab으로 신속하게 이전하고 TeamCity를 완전히 폐쇄했습니다. 그들은 이후 SCM, CD에 대한 쿠버네티스 지원, 도커 컨테이너, 프로메테우스 지원, 보안 기능 등 GitLab이 제공하는 다른 서비스들을 발견했습니다. Wish는 현재 CI와 CD 파이프라인에 GitLab을 사용하고 있습니다. GitLab은 코드 변경 빈도에 따라 하루에도 여러 차례 제품을 배포할 수 있도록 했습니다. 그들은 더 이상 가로막는 문제 없이 지속적인 배포를 할 수 있게 되었습니다.
확장성
GitHub와의 통합
도커 지원
Runner로 효과적인 서버 추가
함께 실행되는 파이프라인
다운타임 없음
파이프라인 테스트로 QA 작업 효율 증대
단순화된 툴체인
기술자들은 시간을 절약
여러개의 툴로 인한 병목현상 제거
파이프라인 속도 유지
DEMO
인포그랩의 데모를 보고 계획을 수립하세요
* 필수