본문 바로가기
C.W.K.
Stream
Lesson 05 of 13 · published

macOS 러너 (와 Apple Silicon)

~10 min · macos, apple-silicon, self-hosted

Level 0견습생
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

가장 비싼 러너 유형 — 때로는 유일한 선택지

iOS나 macOS 네이티브 코드, MLX, 코드 서명, 공증 작업을 하려면 macOS가 필수야. 호스팅된 macOS 러너는 Linux 대비 10배 비용이 든다. 처리량이 많아서 정신을 차리려면 Mac mini나 사무실에 있는 Mac을 셀프 호스팅 러너로 쓰는 게 유일한 방법일 수 있어.

호스팅 러너와 셀프 호스팅 macOS 비교

Hosted자체 호스팅
비용분당 Linux의 10배하드웨어 + 전기세
Apple Silicon지원 (새 이미지)보유한 Mac이면 가능
MLXM 시리즈 이미지에서 지원지원
코드 서명인증서와 프로비저닝 업로드Mac의 Keychain에 인증서 보관
신뢰성네트워크 의존; 대기열네가 직접 유지 보수

셀프 호스팅 macOS의 함정들

  • 러너 에이전트는 launch agent로 동작해. Mac이 잠들면 작업도 멈춘다. 러너 머신에서는 절전 모드를 꺼줘.
  • 경로가 Linux와 달라. Homebrew는 /opt/homebrew (Apple Silicon) 아니면 /usr/local (Intel)이야. 워크플로가 두 경우를 모두 처리해야 해.
  • 코드 서명 키가 사용자 Keychain에 있으니까 러너도 같은 사용자로 실행해야 해.
  • Xcode 버전이 중요해. maxim-lobanov/setup-xcode로 고정하거나 러너 수준에서 관리해.

Code

코드 서명과 함께 iOS 빌드·yaml
  ios-build:
    runs-on: [self-hosted, macos, apple-silicon]
    steps:
      - uses: actions/checkout@v4
      - name: Setup Xcode
        uses: maxim-lobanov/setup-xcode@v1
        with: { xcode-version: '16.2' }
      - name: Decode signing cert
        env:
          CERT_BASE64: ${{ secrets.IOS_CERT_BASE64 }}
          CERT_PASSWORD: ${{ secrets.IOS_CERT_PASSWORD }}
        run: |
          echo "$CERT_BASE64" | base64 --decode > cert.p12
          security create-keychain -p ci ci.keychain
          security import cert.p12 -k ci.keychain -P "$CERT_PASSWORD"
          security list-keychains -s ci.keychain
      - run: xcodebuild -scheme MyApp -archivePath out.xcarchive archive

External links

Exercise

iOS나 macOS 작업이 있다면 지금 어떻게 돌아가는지 점검해 봐. 호스팅 러너를 쓸지, 셀프 호스팅을 할지. 월간 비용과 Mac mini 셀프 호스팅 비용을 계산해 보면 답이 종종 놀라울 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.