그 외의 솔루션들에 대한 짤막한 정보입니다.
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
- iOS 빌드를 지원하지 않으며 21년 1분기 지원 예정(?)
- https://community.atlassian.com/t5/Bitbucket-questions/building-iOS-app-on-bitbucket-pipelines/qaq-p/1354237
Circle CI
- MacOS에서의 빌드 및 병렬 빌드를 실행하려면 월 $30 이상 결제 필요
Travis CI
- 2020년부터 베타기능으로 Bitbucket 로그인 가능
Bamboo
- Atlassian 도구 모음의 일부이며 Bitbucket과 잘 작동합니다.