CI 서버 솔루션 비교하기

Munok Kim
4 min readApr 20, 2021

--

수많은 CI 솔루션 중에 무엇을 선택해야 할까?

Photo by Raquel Martínez on Unsplash

추천 할 만한 CI 솔루션들을 조사해서 비교하기 쉽도록 표로 정리했습니다. 해당 서비스들을 모두 직접 결제해서 사용해 본 것이 아니라 정보가 다소 부정확 할 수도 있으니 참고하세요!

CI 솔루션 비교

이 중에서 Github Actions는 가격의 부담이 가장 적으면서도 강력하고 Github 저장소와 시너지도 좋은 솔루션입니다. 비교적 최근에 생겨나 점점 인기가 많아지고 있습니다.

그 외의 솔루션들에 대한 짤막한 정보입니다.

Github Actions

  • 코드가 Github에 있어야 함
  • macOS 가상 머신의 하드웨어 사양 :
    — 3 코어 CPU
    — 14GB RAM 메모리
    — 14GB의 SSD 디스크 공간
    — macOS Catalina 10.15 (macOS 11.0 가상 환경은 현재 비공개 미리 보기로 만 제공됩니다.)

Semaphore CI

  • 코드가 Github에 있어야 함

Xcode Server

  • Xcode Server는 Xcode에 대해 많이 알지만 지속적인 통합에 대해서는 거의 알지 못합니다. 두 개의 작업(봇) 이상을 병렬로 실행할 수 없으며 git 하위 모듈 변경 사항을 선택하지 못합니다. (이를 위한 사용자 지정 스크립트 필요)
  • Xcode와 반드시 관련이 없는 연속 실행 작업이있는 경우(예 : 매일 localizable.strings 번역 다운로드) XCS는 무언가를 먼저 빌드하거나 테스트하지 않고는 이를 수행 할 수 없습니다.
  • XCS가 빌드에 실패하면 Apple의 단순성 철학이 반대되고 XCS의 오류는 너무 모호합니다 (/usr/bin codesign failed).
  • Gitlab / Bitbucket / Github와의 통합, API와 통신 할 플러그인이없고 작업 파이프 라인이 없습니다. 사실 XCS가 할 수 있는 유일한 일은 장치에서 unit + ui 테스트를 쉽게 실행하는 것입니다. 그럼에도 불구하고 실패하면 이유를 알려주지 않으므로 파악해야하는 부담을지게됩니다.

Jenkins

  • 모든 컴퓨터에서 실행할 수 있는 웹 서버입니다.
  • 플러그인들이 많아서 많은 기능들을 할 수 있다.
  • 무료이기 때문에 서버를 직접 구축하여 호스팅하고 플러그인 설정하는 등, 유지 관리해야 한다는 것이 단점.
  • Xcode가 설치된 macOS를 실행하는 로컬 머신이 필요함.
  • 또는 EC2 Mac Instance 필요 (가격 시간당 $1.083) — 링크

Bitrise

  • 서버를 직접 만들지 않고 클라우드에서 동작하는 CI시스템 서비스
  • 모바일 사용에 최적화된 CI시스템으로 좋은 UI를 가지고 있음
  • 개인으로 사용할때 무료로 사용하면 시간, 횟수에 제한이 있음
  • 안드로이드도 CI/CD 구축 가능
  • fastlane을 자동화 툴로 지원
  • docker기반이라서 Circle CI보다 좋다.
  • 병렬 빌드 및 팀 멤버 2인 초과인 경우에 월 $90 이상 결제 필요

Bitbucket Pipeline

Circle CI

  • MacOS에서의 빌드 및 병렬 빌드를 실행하려면 월 $30 이상 결제 필요

Travis CI

  • 2020년부터 베타기능으로 Bitbucket 로그인 가능

Bamboo

  • Atlassian 도구 모음의 일부이며 Bitbucket과 잘 작동합니다.

GitLab CI

Microsoft AppCenter

--

--

Munok Kim

앱 깎는 장인이 되고 싶은 iOS 개발자입니다