Xcode Cloud란 무엇일까?
Xcode Cloud는 Apple이 공식적으로 제공하는 iOS/macOS 앱 개발 전용 CI/CD 서비스입니다.
Xcode 13 이상부터 사용할 수 있고, Apple Developer Program 개발자 계정이 있다면 월 25시간까지 무료로 제공됩니다.
큰 특징으로는 GUI환경으로 초보자도 설정이 간단하고 자동 서명으로 인한 인증서등의 처리가 간단합니다.
Xcode Cloud 설정: 프로젝트 생성부터 CI 적용까지
실제로 새 프로젝트를 만들어서 CI를 적용하는 과정을 살펴봅시다.
1. Xcode에서 프로젝트 생성하기
-
Xcode → New → Project → App을 선택하여 프로젝트를 생성해봅시다.
2. Xcode Cloud 워크플로우 생성
-
Xcode에서 관련 메뉴는 Integrate 메뉴에서 Xcode Cloud에 Create Workflow, Manage Workflows 밖에 없습니다.
-
메뉴:
Integrate > Create Workflow를 선택하면 이미지와 같이 Product를 선택하는 화면이 나옵니다.( Github등의 원격 레파지토리가 설정되어 있지 않으면 레파지토리를 설정할수 추가 메뉴가 팝업으로 제공이 됩니다 )
3. 워크플로우 에디터
-
워크플로우를 구성할 때 사용하는 에디터 화면은 다음과 같은 다섯 가지 주요 메뉴로 나뉩니다.
3.1 General (기본 정보)
-
워크플로우의 이름과 설명을 설정하는 영역입니다.
-
레파지토리의 주소와 Project 인지 Workspace 인지 선택하는 메뉴가 제공됩니다.
3.2 Environment (실행 환경)
-
이 워크플로우가 실행될 기기의 macOS 버전과 Xcode 버전을 지정하는 영역입니다.
-
또한 Secret 환경 변수를 설정할수 있습니다.
-
애플에서 제공하는 퍼스트 툴의 장점이 보이는 부분인데 아직 정식 출시 되지 않은 Xcode 베타 버전을 선택할수 있습니다.
3.3 Start Conditions (시작 조건)
-
워크플로우가 언제 자동으로 실행될지 정의하는 트리거 조건을 설정하는 곳입니다.
|
조건 |
설명 |
|---|---|
|
Branch Changes |
특정 브랜치에 Push가 발생할 때 실행 |
|
Pull Request Changes |
PR 생성 또는 수정 시 실행 |
|
Tag Changes |
특정 태그가 푸시될 때 실행 |
|
On a Schedule for a Branch |
주/일/시 를 설정하여 특정 브랜치를 주기적으로 실행 |
3.4 Actions (실행 작업)
-
실제 빌드/테스트/배포에 해당하는 작업 단계를 정의합니다.
-
각 단계는 순차적으로 실행되며, 다음 항목으로 구성이 되며 구성 요소는 Xcode의 실행 메뉴와 유사합니다.
|
단계 |
설명 |
|---|---|
|
Build |
앱을 빌드 (Platform, Scheme, 디바이스 종류 설정) |
|
Test |
Unit/UI Test 실행 |
|
Analyze |
정적 분석 작업을 실행 |
|
Archive |
TestFlight 업로드 및 테스터 전송 |
3.5 Post-Actions (후속 작업)
-
빌드/테스트/배포 결과를 외부로 알리거나 후속 처리를 정의하는 영역입니다.
|
항목 |
설명 |
|---|---|
|
Notify |
빌드 성공,실패의 결과를 Slack, Email을 통해 전달 |
|
TestFlight Internal Testing |
TestFlight 내부 테스팅 |
|
TestFlight External Testing |
TestFlight 외부 테스팅 |
4. App Store Connect에서의 Xcode Cloud 확인
-
워크플로우를 작성-> 레파지토리의 권한을 체크 후 워크플로우가 생성이 완료되면 이후에서는 App Store Connect에서 관련된 내용들을 확인할수 있습니다.
-
Xcode에서는 최초 설정 관련된 부분에 대한 처리가 주이며 워크플로우 추가외에는 특별한 메뉴가 없습니다.
4.1 생성된 워크플로우 확인
-
https://appstoreconnect.apple.com접속 → My Apps > 앱 선택워크플로우 생성시 앱이 없을 경우 앱을 생성해 줍니다.
-
상단 탭에서 Xcode Cloud를 선택하면,Xcode에서 생성한 워크플로우 목록과 실행 이력을 확인할 수 있습니다.
4.2 빌드
-
Xcode Cloud 워크플로우를 통해 생성된 빌드 목록과 상태를 확인할 수 있습니다.
-
빌드 번호를 선택하면 세부사항과 결과 등을 확인할수 있습니다.
-
로그에서 각 Action별 로그 확인이 가능하고 아티팩트에서 로그파일 및 ipa파일등을 다운로드 받을수 있습니다.
4.3 워크플로 관리
-
현재 앱에 연결된 워크플로우 목록을 보여주는 대시보드 역할을 합니다.
-
워크플로우 생성, 편집, 삭제 등의 처리를 할수 있습니다.
4.4 설정
-
Xcode Cloud 관련 기본 설정 정보를 확인할 수 있다.
-
저장소, 빌드 번호, 공유 환경 변수 등의 대한 설정을 할수 있습니다.
4.5 사용
-
Xcode Cloud 빌드 시간 사용량을 확인할 수 있습니다
-
Apple은 개발자 계정당 월 25시간 무료 빌드 시간을 제공합니다.
-
사용 탭에서는 다음을 확인할 수 있습니다.
-
생성된 빌드 수
-
사용한 시간
-
각 워크플로우별 사용 내역
-
Xcode Cloud 와 GitHub Actions
-
Xcode Cloud와 Github Action에서 제공되는 기능은 크게 다르지 않으나 사용방식면에서는 큰 차이가 있습니다.
기능별 비교
|
항목 |
Xcode Cloud |
GitHub Actions |
|---|---|---|
|
설정 방식 |
GUI 기반 |
YAML 파일 기반 |
|
실행 환경 |
Apple 제공 macOS 머신 |
GitHub 호스팅 또는 자체 runner |
|
iOS 인증서 처리 |
자동 |
수동 (Fastlane + secrets 등의 설정 필요) |
|
배포 방식 |
TestFlight 연동 |
Apple Connect API 연동 필요 |
|
외부 서비스 연동 |
Slack, Email 만 기본 제공 |
Slack, Discord, Firebase 등 다양한 연동 |
|
유연성 |
제한적 (정해진 흐름 위주) |
매우 유연 (스크립트 기반 제어 가능) |
도구별 장단점 요약
Xcode Cloud 장점
-
설정이 쉽습니다.
Xcode에서 클릭 몇 번이면 기초적인 설정이 가능합니다.
-
인증서/서명/빌드 환경 관리가 불필요
퍼스트 툴의 가장 큰 장점으로 iOS ci/cd 구성시 가장 큰 걸림돌을 해결해줍니다.
-
다양한 Runner를 제공
Beta 버전의 OS등을 빠르게 적용해볼수 있습니다.
Xcode Cloud 단점
-
macOS/iOS 전용
-
고도화된 커스터마이징 불가
custom build scripts 영역을 제공하고 있어 일부 처리는 가능하지만 특정 시기에만 호출되는 script라 제한적
-
외부 연동 제한
GitHub Actions 장점
-
다양한 플랫폼(iOS, Android, Web 등)에 모두 사용 가능
-
CI/CD 파이프라인의 흐름을 세밀하게 제어 가능
-
외부 서비스 연동에 강함 (Slack, Firebase, AWS 등과 자연스러운 통합)
-
코드베이스와 함께 CI 설정도 관리 가능 (YAML 버전 관리)
GitHub Actions 단점
-
iOS 앱은 macOS runner 필요 → 비용 부담
-
인증서/프로비저닝 프로파일 설정이 복잡
-
Fastlane이나 스크립트에 대한 학습 필요
마무리
이번에는 Xcode Cloud에 대한 사용방법과 장단점을 간단히 정리해 보았습니다.
Apple에서 공식으로 제공하는 기능인만큼 iOS 앱만 빠르게 자동화 처리를 하고 싶다면 최적의 도구가 아닐지 싶습니다.

