메인 콘텐츠로 바로가기
CI/CD

자동 Capacitor IOS 빌드와 Codemagic

5분 안에 Codemagic와 Codemagic을 사용하여 IOS Ionic 앱에 대한 CI/CD PIPELINE을 설정하는 방법 (2024)

마틴 도나디우

마틴 도나디우

콘텐츠 마케터

자동 Capacitor IOS 빌드와 Codemagic

iOS에서 Codemagic을 사용한 지속적인 배포

준비물

이 튜토리얼을 계속하기 전에...

  • iOS 개발자 프로그램 회원 가입
  • 읽고 싶은 욕망 😆…

가격에 대한 중요한 점

Codemagic 액션의 가격

https://codemagic.io/pricing/

서비스는 ‘월 500 분의 무료 macOS M1 / 달, 사용하는 기계에 따라 달라집니다. 우리는 macOS M1 기계를 사용할 것입니다, 스크린샷에서 가격과 제한을 볼 수 있습니다 (가격은 튜토리얼이 생성된 시점의 가격으로, 미래에 변경될 수 있습니다)
요구 사항과 가격에 대해 경고한 후, 만약 좋다면, 계속하겠습니다… 애플 에코 시스템의 인증서를 가지고 iTunes connect에서 앱을 생성한 것으로 가정합니다. Codemagic이 모든 것을 설정해 줄 것입니다! 우리는 macOS M1 기계를 사용할 것입니다, 스크린샷에서 가격과 제한을 볼 수 있습니다 (가격은 튜토리얼이 생성된 시점의 가격으로, 미래에 변경될 수 있습니다)

🔴 이 튜토리얼에서 사용하는 Codemagic의 가격은 Codemagic의 가격 페이지에 따라 달라집니다.

📣 이 튜토리얼에서 사용하는 Codemagic의 가격은 Codemagic의 가격 페이지에 따라 달라집니다.

🤿 우리가 시작해 보자

이 포스트에서 따르는 단계

  1. App Store Connect API을 사용하여 Codemagic
  2. 필요 조건
  3. App Store Connect API 키를 생성하는 방법
  4. App Store Connect API 키를 사용하는 방법
  5. Fastlane 파일 복사
  6. Codemagic 설정

1. App Store Connect API을 사용하여 Codemagic

2021년 2월부터 모든 사용자가 App Store Connect에 로그인하기 위해 2단계 인증 또는 2단계 인증이 필요합니다. Apple ID에 대한 추가 보안层는 계정에 대한 액세스를 제한하여 계정에 대한 액세스를 보장합니다.
출처 애플 지원

iOS 빌드 자동화에 Capgo를 사용하는 방법

요구 사항

App Store Connect API를 사용하기 위해서는 Codemagic이 API 키를 생성할 수 있어야 합니다. 3 가지 인증서 발급자 ID

  1. 키 ID
  2. 키 파일 또는 키 내용
  3. App Store Connect __CAPGO_KEEP_0__ 키 생성

App Store Connect API 키를 생성하려면 App Store Connect에서 Admin 권한이 있어야 합니다. 권한이 없다면 이 문서를 공유하고 아래의 지침을 따라야 합니다.

1. App Store Connect에 로그인

App Store Connect App Store Connect.

2 — 선택 사용자 및 액세스.

애플 스토어 연결 사용자 액세스

3 — API 키 탭을 선택하세요.

애플 스토어 연결 API 키

4 — API 키 생성 또는 (+) 버튼을 클릭하세요.

애플 스토어 연결 API 키 생성

5 — 키 이름을 입력하고 액세스 권한을 선택하세요. 우리는 Apple Developer Program 역할 권한에 대해 더 많이 읽으실 수 있습니다. App Manager 애플 스토어 연결 __CAPGO_KEEP_0__ 키 생성 이름 6 — 생성을 클릭하세요.

애플 스토어 연결 API 키 생성

5 — 키 이름을 입력하고 액세스 권한을 선택하세요. 우리는 Apple Developer Program 역할 권한에 대해 더 많이 읽으실 수 있습니다.

An API key’s access cannot be limited to specific apps.

새 키의 이름, 키 ID, 다운로드 링크 및 기타 정보가 페이지에 나타납니다.

애플 스토어 연결 다운로드 키

다음 세 가지 정보를 모두 가져오세요: <1> 문제 ID.
<2> 키 ID.
&lt;3&gt; Click “Download API Key” to download your API private key. The download link appears only if the private key has not yet been downloaded. Apple does not keep a copy of the private key. So, you can download it only once.

🔴 Store your private key in a safe place. You should never share your keys, store keys in a code repository, or include keys in client-side code.

Adding the App Store Connect API key to Codemagic

  1. Codemagic 팀 설정을 열어주세요. 팀 통합 선택 팀 열기 Select code signing identities Select code 인증서 인증서를 업로드하세요. 인증서를 업로드하세요.

  2. 버튼을 클릭하세요. 키 추가 버튼을 클릭하세요.

  3. 이름을 입력하세요. 이 이름은 애플리케이션 설정에서 키를 참조할 때 사용됩니다. App Store Connect API key name값을 입력하세요.

  4. 값을 입력하세요. Issuer ID 클릭하세요. Key ID 클릭하세요.

  5. 버튼을 클릭하세요. iOS 빌드용 .p8 파일을 선택하세요. App Store Connect API 키를 다운로드 한 후 파일을 업로드하세요.

  6. 클릭 Save.

App Store Connect API 키를 사용하여 Codemagic을 관리할 수 있게 되었습니다. 좋습니다!

2. 인증서 및 배포 프로파일을 생성하세요.

인증서

XCode를 열고 설정 &gt; &gt; Accounts Apple ID > 팀을 선택하세요.

Code 인증서

클릭 인증서 관리 > + Apple Distribution Apple Distribution.

그런 다음 새로운 인증서를 만들 수 있습니다.

Then you can create a new certificate.

그런 다음 키 체인으로 이동하여 인증서를 다운로드해야 합니다. .p12 파일 형식으로.

이러한 작업을 수행하려면 키 체인으로 이동하여 로그인 키 체인으로 전환하고 로그인 키 체인 탭 내 인증서.

내 인증서

그런 다음 다운로드하고자 하는 인증서를 선택할 수 있습니다. (인증서의 날짜를 확인하세요)

그런 다음 인증서 오른쪽 클릭하고 내보내기.

파일 형식 선택 개인 정보 교환 (.p12).

그것은 인증서를 파일로 다운로드 할 것입니다. .p12 파일.

프로비전 프로파일

열기 애플 개발자 그리고 올바른 팀을 선택하세요.

그런 다음 새로운 프로파일을 만들려면 클릭하여 +

새로운 프로파일 만들기

그리고 선택하세요. 앱 스토어 연결.

앱 스토어 연결 선택

그런 다음 올바른 앱을 선택해야 합니다. wildcard를 사용할 수 없으므로 주의해야 합니다. 그렇지 않으면 서명이 실패합니다.

올바른 앱을 선택하세요.

앞서 생성한 인증서 중 올바른 인증서를 선택하세요. (만료일이 오늘 날짜와 일치하는 날짜로 설정되어야 함). 계속.

올바른 인증서를 선택하세요.

마지막으로 프로파일 이름을 입력하고 생성.

이름은 Codemagic에서 프로파일을 식별하는 데 사용됩니다.

프로파일을 생성하세요.

프로파일을 파일 형태로 다운로드할 수 있습니다. .mobileprovision 프로파일 다운로드

__CAPGO_KEEP_0__ 인증서 추가

Code 인증서 추가

Codemagic은 code 서명 인증서를 PKCS#12 아카이브로 업로드할 수 있게 해줍니다. 이 아카이브에는 인증서와 개인 키가 포함되어 있어 인증서를 사용하기 위해 필요합니다. 인증서를 업로드할 때, Codemagic은 인증서가 암호화된 경우 인증서 암호를 제공하도록 요청합니다. 또한 고유한 Reference name, 이 이름을 사용하여 codemagic.yaml configuration

  • 에서 특정 파일을 가져올 수 있습니다.
  • 인증서 업로드
  • 새 인증서 생성
  1. 개발자 포털에서 가져오기 Codemagic 팀 설정을 열고 codemagic.yaml 설정 Code signing identities.
  2. Open iOS 인증서 탭.
  3. 인증서 파일을 업로드하려면 파일을 선택하세요 (.p12 또는 .pem) 또는 프레임에 파일을 끌어다 놓으세요.
  4. 인증서 인증서 비밀번호 참조 이름 클릭.
  5. 인증서 추가 프로비전 프로파일 추가

Adding the provisioning profile

Codemagic은 애플리케이션을 위한 프로비저닝 프로파일을 업로드하거나 애플 개발자 포털에서 프로파일을 가져올 수 있도록 허용합니다.

추가된 Code 서명 식별성에 있는 프로파일의 유형, 팀, 번들 ID, 만료일이 표시됩니다. 또한, Codemagic은 code 서명 인증서가 Code 서명 식별성에 있는 경우 (green checkmark) 또는 그렇지 않은 경우를 알려줍니다. 인증서 3. Codemagic 설정

Codemagic 비밀 설정

프로젝트의 비밀에서 오는 건 비밀이 아니야 – 프로젝트의 비밀에서 오는 거야!

4. Codemagic 워크플로우 파일 설정 ENV 프로젝트의 루트 디렉토리에 파일명을 __CAPGO_KEEP_0__로 지정하고 다음을 추가하세요.

이 워크플로우는 수동으로 또는 각 __CAPGO_KEEP_0__ 후에 트리거되어야 합니다.

__CAPGO_KEEP_1__ codemagic.yml __CAPGO_KEEP_2__

workflows:
  ionic-capacitor-ios-workflow:
    name: Capacitor iOS Workflow
    max_build_duration: 120
    instance_type: mac_mini_m1
    integrations:
      app_store_connect: CodeMagic
    environment:
      ios_signing:
        distribution_type: app_store
        bundle_identifier: YOUR_BUNDLE_IDENTIFIER
      vars:
        XCODE_WORKSPACE: ios/App/App.xcworkspace
        XCODE_SCHEME: App
        APP_STORE_APP_ID: YOUR_APP_STORE_APP_ID
      node: v20.14.0
      xcode: 15.4
      cocoapods: default
    triggering:
      events:
        - tag
      tag_patterns:
        - pattern: '*'
          include: true
    scripts:
      - name: Install dependencies
        script: |
          npm install
      - name: Cocoapods installation
        script: |
          cd ios/App && pod install
      - name: Update dependencies and copy web assets to native project
        script: |
          npm run build
          npx cap sync ios
      - name: Set up code signing settings on Xcode project
        script: |
          xcode-project use-profiles
      - name: Increment build number
        script: |
          cd $CM_BUILD_DIR/ios/App
          LATEST_BUILD_NUMBER=$(app-store-connect get-latest-app-store-build-number "$APP_ID")
          agvtool new-version -all $(($LATEST_BUILD_NUMBER + 1))
      - name: Build ipa for distribution
        script: |
          xcode-project build-ipa \
            --workspace "$XCODE_WORKSPACE" \
            --scheme "$XCODE_SCHEME"
    artifacts:
      - build/ios/ipa/*.ipa
      - /tmp/xcodebuild_logs/*.log
      - $HOME/Library/Developer/Xcode/DerivedData/**/Build/**/*.app
      - $HOME/Library/Developer/Xcode/DerivedData/**/Build/**/*.dSYM
    publishing:
      email:
        recipients:
          - YOUR_EMAIL
        notify:
          success: true # To not receive a notification when a build succeeds
          failure: false # To not receive a notification when a build fails
      app_store_connect:
        auth: integration
        # Configuration related to TestFlight (optional)
        # Note: This action is performed during post-processing.
        submit_to_testflight: true
        # Configuration related to App Store (optional)
        # Note: This action is performed during post-processing.
        submit_to_app_store: false

GitHub 태그, 자동 태그화가 필요하다면, Automatic build and release with GitHub actions 먼저 이 워크플로우는 NodeJS 의존성을 가져와, 설치하고, JavaScript 앱을 빌드합니다.

매번 새로운 태그를 보내면, 테스트 플라이트에서 릴리즈가 빌드됩니다.

앱은 Ionic 을 사용하지 않아도 됩니다.

Your App doesn’t need to use Ionic, only Capacitor base is mandatory, it can have old Cordova module, but Capacitor JS plugin should be preferred.

워크플로우를 트리거하세요.

새로운 커밋을 브랜치에 푸시하세요.

또는 main 워크플로우를 트리거하세요. development or

시작한 커밋

몇 분 후에 App Store Connect 대시보드에서 빌드가 사용 가능합니다.

테스트 플라이트 대시보드

수동으로 시작

워크플로우를 수동으로 시작할 수 있습니다.

앱을 선택한 후 페이지/영역: Capgo Builder / 네이티브 클라우드 빌드 제품 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 메시지 키 `native_build_builder_credit_first` (네이티브 빌드 빌더 크레딧 퍼스트)..

새 빌드를 시작

앱을 선택

빌드할 branch를 선택

branch를 선택 그리고 클릭하여.

그런 다음 목록을 빌드하세요.

빌드 목록

그리고 결과를 볼 수 있는 빌드를 클릭하세요.

빌드 결과

로컬 머신에서 배포할 수 있습니다.

네, 가능합니다. 그리고 그것은 매우 쉬워요.

Xcode를 사용하여 앱을 빌드하고 서명할 수 있습니다. 항상 그대로입니다.

감사합니다.

다음 기사에 기반한 이 블로그입니다:

자동 Capacitor IOS 빌드와 Codemagic

자동 __CAPGO_KEEP_0__ IOS 빌드와 Codemagic를 사용 중이라면 자동 Capacitor IOS 빌드와 Codemagic를 사용하여 __CAPGO_KEEP_0__ CI/CD와 연결 Capgo CI/CD Capgo CI/CD Capgo 네이티브 빌드 Capgo 네이티브 빌드 Capgo 통합 Capgo 통합 CI/CD 통합 CI/CD 통합 구현 세부 사항 GitHub 액션 통합 GitHub 액션 통합 구현 세부 사항

Capacitor 앱에 대한 즉각적인 업데이트

웹-layer 버그가 활성화된 경우, 앱 스토어 승인 대기 없이 Capgo를 통해 픽스를 배포하세요. 사용자는 배경에서 업데이트를 받으며 네이티브 변경 사항은 일반적인 검토 경로에 남아 있습니다.

마틴의 인간 지원

시작하기

최신 뉴스

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의洞察력을 제공합니다.