C.W.K.
Stream
Lesson 05 of 13 · published

macOS runner (와 Apple Silicon)

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

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

가장 비싼 runner 유형 — 때로는 유일한 옵션

iOS / macOS native 코드, MLX, signing, notarization 은 macOS 필요. Hosted macOS runner 는 Linux 비용 10×. Mac mini 나 사무실 Mac 의 self-hosted 가 볼륨에 정신 유지 유일.

Hosted vs self-hosted macOS

HostedSelf-hosted
비용분당 10× Linux하드웨어 + 전기
Apple Silicon예 (새 image)가진 Mac 뭐든
MLXM-series image 에 예
Code signingcert + provisioning 업로드Mac 의 Keychain 에 cert
신뢰성네트워크 의존; 큐아빠 유지에 달림

Self-hosted macOS 함정

  • Runner agent 는 launch agent 로 돔. 잠자는 Mac = job 없음. Runner 머신에서 sleep 비활성화.
  • Path 가 Linux 와 다름 — Homebrew 가 /opt/homebrew (Apple Silicon) vs /usr/local (Intel). Workflow 가 둘 다 처리해야.
  • Code-signing 키가 사용자 Keychain 에 살음 — runner 가 같은 사용자여야.
  • Xcode 버전 중요. maxim-lobanov/setup-xcode 로 pin 또는 runner level 에서 관리.

Code

Code signing 과 함께 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 작업 있으면 현재 어떻게 도는지 audit. Hosted? Self-hosted? 월 비용 vs self-hosting Mac mini 비용 계산. 답이 종종 놀래킴.

Progress

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

댓글 0

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

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