Skip to main content
CI/CD

자동 Capacitor IOS 빌드에 Codemagic

5분 이내에 Codemagic 및 Codemagic를 사용하여 IOS Ionic 앱에 대한 CI/CD PIPELINE을 설정하는 방법

기사 기여

마틴 도나디우

작가

발레리아

리뷰어

조던

편집기

자동 Capacitor IOS 빌드와 Codemagic

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

필수 조건

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

  • iOS 개발자 프로그램 회원 가입.
  • 읽고 싶은 마음이 드는…

가격에 대한 중요한 것

가격 Codemagic Action

https://codemagic.io/pricing/

서비스는 '무료'입니다 1개월에 500시간까지의 macOS M1 시간/월, 선택한 기계에 따라 달라집니다.
우리는 다음을 사용할 것입니다. macOS M1 기계의 가격과 제한을 볼 수 있습니다 (가격은 튜토리얼이 생성된 시점의 가격으로, 미래에 변경될 수 있습니다)

🔴 요구 사항과 가격에 대해 경고된 후, 만약 좋아한다면, 계속하겠습니다…

📣 애플 에코 시스템의 인증서가 있는 앱을 iTunes Connect 에서 생성한 것으로 가정합니다. Codemagic! 에서 모든 설정이 완료됩니다.

들어가볼까요 🤿

포스트에서 따르는 단계

  1. App Store Connect API을 Codemagic과 함께 사용하는 방법
  2. 요구 사항
  3. App Store Connect API 키를 생성하는 방법
  4. App Store Connect API 키를 사용하는 방법
  5. 파일 복사
  6. Codemagic 설정

1. App Store Connect API을 사용하는 방법

2021년 2월부터 App Store Connect에 로그인하는 모든 사용자는 2단계 인증 또는 2단계 인증이 필요합니다. 이 추가 보안 기능은 Apple ID에 대한 보안을 강화하여 사용자 계정에 대한 액세스를 제한합니다.
From Apple Support

match를 사용하기 위해 시작하는 것은 기존 인증서를 취소해야 하는 것을 요구합니다. 그러나 걱정하지 마십시오. 새로운 인증서를 직접 받을 것입니다.

요구 사항

Codemagic가 App Store Connect API을 사용할 수 있도록 하려면 세 가지 것입니다.

  1. 발급자 ID.
  2. __CAPGO_KEEP_0__ ID.
  3. __CAPGO_KEEP_0__ 파일 또는 __CAPGO_KEEP_0__ 내용.

애플 스토어 연결 API 키 생성

애플 스토어 연결 __CAPGO_KEEP_0__ 키를 생성하려면, 애플 스토어 연결에서 관리자 권한이 있어야 합니다. 관리자 권한이 없다면, 이 문서를 공유하고 아래의 지침을 따라야 합니다.

1 — 애플 스토어 연결에 로그인합니다. 애플 스토어 연결.

2 — 사용자 및 액세스 애플 스토어 연결 사용자 액세스.

3 — __CAPGO_KEEP_0__ 키 탭을 선택합니다.

애플 스토어 연결 API 키

4 — API 키 생성 또는 (+) 버튼을 클릭합니다.

API

애플 스토어 커넥트 API 키 생성

5 — 키 이름을 입력하고 접근 권한을 선택하세요. 우리는 Apple Developer Program 역할 권한에 대해 더 많이 읽어보기를 추천합니다. App Manager 여기 애플 스토어 커넥트 __CAPGO_KEEP_0__ 키 이름

App Store Connect API keys create name

__CAPGO_KEEP_0__ 키의 접근 권한은 특정 앱으로 제한할 수 없습니다.

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

애플 스토어 커넥트 키 다운로드

다음 세 가지 정보를 여기서 확인하세요:
<1> 문제 ID.

<2> 키 ID.
<3> __CAPGO_KEEP_1__ 개인 키를 다운로드하려면 "다운로드 __CAPGO_KEEP_0__ 키"를 클릭하세요. 다운로드 링크는 개인 키가 다운로드되지 않은 경우에만 나타납니다. 애플은 개인 키의 복사본을 유지하지 않습니다. 따라서 개인 키를 다운로드할 수 있습니다.
&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.

App Store Connect API 키를 Codemagic에 추가하는 방법

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

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

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

  4. Enter the Issuer ID and Key ID 값을 입력하세요.

  5. Click on App Store Connect __CAPGO_KEEP_0__ 키를 다운로드한 파일을 업로드하려면 .p8 파일을 선택하세요. or drag the file to upload the App Store Connect API key downloaded earlier.

  6. 저장 App Store Connect __CAPGO_KEEP_0__ 키를 사용하여 Codemagic을 관리할 수 있습니다. 좋습니다!.

Now we can manage Codemagic with the App Store Connect API key, great!

context

인증서

__CAPGO_KEEP_0__ 서명 식별자 XCode를 열고 설정 > 계정 > Apple ID >

Code signing identities

클릭 인증서 관리 > + 및 선택 애플 배포.

애플 배포

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

그런 다음 인증서를 파일로 다운로드하려면 키 체인에 가야합니다. .p12 키 체인에 가서 로그인 키 체인으로 switch하고

로그인 인증서 인증서 그런 다음 키 체인에 가서 인증서를 파일로 다운로드합니다..

My Certificates

그리고 원하는 인증서를 다운로드할 수 있습니다. (인증서의 날짜를 기준으로 확인하세요)

그리고 인증서 오른쪽 클릭 후 Export.

파일 형식을 선택하세요 Personal Information Exchange (.p12).

인증서를 파일로 다운로드합니다. .p12 Provisioning profiles

Open

Apple Developer 그리고 올바른 팀을 선택하세요 __CAPGO_KEEP_0__

그런 다음 새로운 프로필을 만들기 위해 클릭하세요. +

새로운 프로필 만들기

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

애플 스토어 연결 선택

그런 다음 올바른 앱을 선택하세요. 주의하십시오. 와일드 카드 사용 시 서명이 실패합니다.

올바른 앱 선택

그런 다음 이전에 만든 올바른 인증서를 선택하세요. 만료일을 확인하세요. 오늘 날짜와 월이 동일해야 합니다. 그리고 클릭하세요. 계속.

올바른 인증서 선택

마지막으로 프로필 이름을 입력하고 클릭하세요. 생성.

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

프로필 생성

프로필을 다운로드할 수 있습니다. .mobileprovision 프로필 다운로드

__CAPGO_KEEP_0__ 서명 인증서를 추가합니다.

Codemagic은 PKCS#12 아카이브에 포함된 인증서와 개인 키가 필요하여 사용할 수 있도록 Code 서명 인증서를 업로드할 수 있습니다. 업로드 시, 인증서가 암호화된 경우 인증서 암호를 제공하도록 요청하며, 고유한

Codemagic lets you upload code signing certificates as PKCS#12 archives containing both the certificate and the private key which is needed to use it. When uploading, Codemagic will ask you to provide the certificate password (if the certificate is password-protected) along with a unique ,설정에서 특정 파일을 가져올 수 있도록 사용할 수 있습니다. codemagic.yaml 인증서 업로드

  • 새 인증서 생성
  • Generate new certificate
  • 개발자 포털에서 가져오기
  1. Codemagic 팀 설정을 열고 codemagic.yaml 설정 > Code 서명 식별자.
  2. 열기 iOS 인증서 탭을 열어보세요.
  3. 인증서 파일을 선택하려면 Choose a .p12 or .pem file or by dragging it into the indicated frame.
  4. Enter the 인증 비밀번호 그리고 선택하세요 참조 이름.
  5. 클릭 인증서 추가

프로비저닝 프로파일 추가

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

추가된 프로파일의 유형, 팀, 번들 ID, 만료일이 Code 서명 식별자에 표시됩니다. 또한, Codemagic은 code 서명 인증서가 Code 서명 식별자에 있는지 여부를 알려줍니다 (인증서 필드에 녹색 체크마크가 표시되면). 인증서 3. Codemagic 설정

Codemagic 비밀번호 설정

Adding the provisioning profile

어디서 오는지 궁금한가요? 그건 더 이상 비밀로 안되어 있어요 – 그것은 당신의 프로젝트의 비밀입니다. 🤦 ENV 4. Codemagic 워크플로우 파일을 구성하세요.

프로젝트의 시작 폴더에 이름이

파일을 만들고 다음을 추가하세요. codemagic.yml 이 워크플로우는 수동으로 또는 각

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

This workflow should be triggered manually or after each GitHub 첫 번째로 참조하세요.그런 다음 워크플로우는 NodeJS 의존성을 가져와 설치하고 JavaScript 앱을 빌드합니다. Automatic build and release with GitHub actions __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

애플리케이션은 Ionic을 사용할 필요가 없습니다. Capacitor의 기본 버전만 필수적이며, 이전 Cordova 모듈을 사용할 수 있지만 Capacitor JS 플러그인은 선호됩니다.

5. 워크플로우 트리거

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

새로운 커밋을 branch로 푸시하십시오. main 또는 development 자동 빌드 워크플로우를 트리거합니다.

__CAPGO_KEEP_0__ 시작한 커밋

애플 스토어 연결 대시보드에서 몇 분 후에 빌드가 사용 가능합니다.

테스트 플라이트 대시보드

수동으로 시작하십시오

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

애플리케이션을 선택한 후에 클릭하세요 새로운 빌드를 시작하세요.

애플리케이션을 선택하세요

그 다음에 빌드할 branch를 선택하세요

branch를 선택하세요

그리고 클릭하세요 새로운 빌드를 시작하세요.

그 다음에 빌드 목록으로 가세요

빌드 목록

그리고 빌드 결과를 확인하기 위해 빌드를 클릭하세요

빌드 결과

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

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

Xcode를 사용하여 앱을 빌드하고 서명할 수 있습니다.

감사합니다.

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

자동 Capacitor IOS 빌드와 Codemagic에서 계속 진행하세요

자동 __CAPGO_KEEP_0__ IOS 빌드와 Codemagic를 사용하는 경우 Automatic Capacitor IOS build with Codemagic __CAPGO_KEEP_0__ CI/CD 제품 워크플로우에서 Capgo CI/CD Capgo CI/CD Capgo Native Builds Capgo Native Builds Capgo Integrations Capgo Integrations CI/CD 연동 __CAPGO_KEEP_0__ 액션 연동 GitHub 액션 연동 for the implementation detail in GitHub Actions Integration.

실시간 업데이트 Capacitor 앱

웹-layer 버그가 활성화되면 Capgo을 통해 픽스를 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 않습니다. 사용자는 배경에서 업데이트를 받으면서 네이티브 변경 사항은 일반적인 검토 경로를 유지합니다.

마틴의 인간 지원

시작하기

최신 블로그

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