메인 콘텐츠로 건너뛰기
CI/CD

자동 Capacitor IOS 빌드와 Codemagic

Codemagic 및 Codemagic을 사용하여 5분 이내에 IOS Ionic 앱의 CI/CD PIPELINE을 설정하는 방법 (2024)

마틴 도나디우

마틴 도나디우

콘텐츠 마케터

자동 Capacitor IOS 빌드와 Codemagic

iOS 개발을 위한 지속적인 배포

준비 사항

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

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

가격에 대한 중요한 점

가격 Codemagic Action

https://codemagic.io/pricing/

서비스는 월 500개의 macOS M1 분 / 달, 선택한 기기를 기준으로 무료입니다. 우리는 다음을 사용할 것입니다.
__CAPGO_KEEP_0__ macOS M1 __CAPGO_KEEP_0__ 가격과 제한 (이 가격은 튜토리얼이 생성된 시점의 가격이며 미래에 변경될 수 있습니다)

🔴 요구 사항과 가격에 대한 경고를 받은 후, 만약에 좋다면 계속…

📣 포스트에서 앱을 iTunes Connect에서 생성했으며 Apple 생태계의 인증서를 가지고 있다고 가정합니다. 모든 설정은 Codemagic에 의해 자동으로 처리됩니다!

들어가볼까요!

포스트에서 따르면

  1. Codemagic과 함께 App Store Connect API을 사용하는 방법
  2. App Store Connect __CAPGO_KEEP_0__ Key를 생성하는 방법
  3. App Store Connect API Key를 사용하는 방법
  4. Using an App Store Connect API Key
  5. Codemagic 설정
  6. Requirements

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

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

match에 대한 시작을 위해, 기존 인증서를 취소해야합니다. 그러나 걱정하지 마십시오, 새로운 인증서를 직접 받을 것입니다.

Requirements

App Store Connect API을 사용하기 위해, Codemagic은 것이 필요합니다.

  1. Issuer ID.
  2. Key ID.
  3. Key file 또는 Key content.

애플 스토어 연결 API 키 생성

애플 스토어 연결에서 키를 생성하려면 Admin 권한이 필요합니다. 권한이 없다면 해당 문서를 공유하고 다음 지침을 따르세요.

1 — 애플 스토어 연결에 로그인하세요. 애플 스토어 연결.

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

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

애플 스토어 연결 API 키

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

애플 스토어 연결 API 키 생성

App Store Connect API keys create

App Store Connect App Manager 권한, Apple Developer Program 역할 권한에 대해 더 알아보세요. 여기

App Store Connect API 키 이름을 생성하세요.

6 — Generate을 클릭하세요.

API 키의 앱별 접근 권한을 제한할 수 없습니다.

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

App Store Connect 키 다운로드

필요한 세 가지 정보를 모두 여기서 확인하세요: 1> 이슈 ID.
2> 키 ID.
3> API 개인 키를 다운로드하려면 "API 키 다운로드"를 클릭하세요. 다운로드 링크는 개인 키가 다운로드되지 않은 경우에만 나타납니다. Apple은 개인 키의 복사본을 보관하지 않습니다. 따라서 개인 키를 한번만 다운로드할 수 있습니다.

🔴 개인 키를 안전한 곳에 저장하세요. 키를 공유하지 마세요, 키를 code 저장소에 저장하지 마세요, 또는 code에서 키를 포함하지 마세요.

App Store Connect API 키를 Codemagic에 추가하세요.

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

  2. 버튼을 클릭하세요. 키 추가 이름을 입력하세요.

  3. 이 키의 이름을 나중에 애플리케이션 설정에서 참조할 수 있습니다. App Store Connect API key name이 키의 이름을 나중에 애플리케이션 설정에서 참조할 수 있습니다.

  4. __CAPGO_KEEP_0__ 인증 키를 입력하세요. Issuer ID 앱 스토어 연결과 Key ID 값을 입력하세요.

  5. 앱 스토어 연결 __CAPGO_KEEP_0__ 키를 다운로드한 후에 업로드하세요. 파일을 선택하세요. or drag the file to upload the App Store Connect API key downloaded earlier.

  6. 파일을 드래그하여 업로드하세요. 클릭.

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

앱 스토어 연결 __CAPGO_KEEP_0__ 키를 사용하여 코덤판지를 관리할 수 있게되었습니다.

2. 인증서와 프로비전 프로파일을 생성하세요.

인증서를 생성하세요.Opens XCode에서 XCode로 이동하세요. 설정 > 계정 > 애플 ID > 팀을 선택하세요.

Code 인증서

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

애플 배포

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

그런 다음 키 체인으로 이동하여 인증서를 파일로 다운로드해야 합니다. .p12 이를 위해 키 체인으로 이동하여 로그인 키 체인으로 전환하고 "My Certificates" 탭으로 이동해야 합니다.

로그인 키 체인으로 이동하여 "My Certificates" 탭으로 이동해야 합니다. 로그인 키 체인 My Certificates My Certificates.

다운로드하고자 하는 인증서를 선택할 수 있습니다. (인증서의 날짜를 기준으로 검색하세요)

인증서 오른쪽 클릭 후 "Export"를 선택해야 합니다.

Export 파일 형식 선택.

Personal Information Exchange (.p12) Personal Information Exchange (.p12).

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

설치 프로파일

열기 애플 개발자 그리고 올바른 팀을 선택하십시오.

그런 다음 새로운 프로파일을 만들기 위해 +

새로운 프로파일 만들기

그리고 선택하십시오. 앱 스토어 커넥트.

앱 스토어 커넥트 선택하십시오.

그런 다음 올바른 앱을 선택하십시오, 주의해야 합니다. 와일드 카드 사용할 수 없습니다. 그렇지 않으면 서명이 실패합니다.

__CAPGO_KEEP_0__ 인증서를 선택하세요

__CAPGO_KEEP_0__ 인증서를 선택하세요. 만료일이 오늘 날짜와 일치하는 날짜를 확인하세요. Continue.

__CAPGO_KEEP_0__ 인증서를 선택하세요

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

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

프로필 생성

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

프로필 다운로드

Code 인증서 추가

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

  • ,을 사용하여
  • configuration
  • 에서 특정 파일을 가져올 수 있습니다.
  1. 인증서 업로드 새 인증서 생성 > Code signing identities.
  2. Codemagic 팀 설정을 열고 codemagic.yaml 설정을 열어 __CAPGO_KEEP_0__ 서명 식별자를 확인하세요. iOS 인증서를 열어보세요. tab.
  3. __CAPGO_KEEP_0__을 클릭하거나 __CAPGO_KEEP_0__을 선택하세요. __CAPGO_KEEP_0__을 드래그하여 지정된 프레임으로 끌어 올리세요.
  4. __CAPGO_KEEP_1__ 인증서 비밀번호 __CAPGO_KEEP_2__ __CAPGO_KEEP_3__.
  5. __CAPGO_KEEP_4__ __CAPGO_KEEP_5__

__CAPGO_KEEP_6__

__CAPGO_KEEP_7__

The profile’s type, team, bundle id, and expiration date are displayed for each profile added to Code signing identities. Furthermore, Codemagic will let you know whether a matching code signing certificate is available in Code signing identities (a green checkmark in the 인증서 3. Codemagic 설정

Codemagic 비밀 설정

프로젝트의 비밀 값은 어디서 오는 걸까?

4. Codemagic 워크플로우 파일 설정 ENV 프로젝트의 루트 폴더에 이름을

로 추가하세요.

이 워크플로우는 매뉴얼로 또는 각 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 field만약 태그를 자동화하려면, 자동화된 빌드 및 릴리즈를 위해 GitHub 작업을 참조하십시오. 첫 번째.

그런 다음 워크플로우는 NodeJS 의존성을 가져와, 그들을 설치하고 JavaScript 앱을 빌드합니다.

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

앱은 Ionic 을 사용하지 않아도 됩니다. 단, Capacitor 베이스만 필수입니다. 오래된 Cordova 모듈을 사용할 수 있지만 Capacitor JS 플러그인은 선호됩니다.

5. 워크플로우 트리거

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

새로운 커밋을 branch 에 푸시하세요. main 또는 development 워크플로우를 트리거하기 위해.

커밋 시작

__CAPGO_KEEP_0__ 분 후에 빌드는 App Store Connect 대시보드에서 사용할 수 있습니다.

__CAPGO_KEEP_0__ 테스트 플라이트 대시보드

수동 시작

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

먼저 빌드할 앱을 선택한 다음 __CAPGO_KEEP_0__ 새 빌드 시작.

앱 선택

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

branch 선택

그리고 __CAPGO_KEEP_0__ 새 빌드 시작.

그 다음 빌드 목록으로 이동하세요.

빌드 목록

빌드를 클릭하여 결과를 확인하세요.

빌드 결과

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

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

Xcode를 사용하여 앱을 빌드하고 서명할 수 있습니다. 항상 그랬듯이.

감사합니다

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

Keep going from Automatic Capacitor IOS build with Codemagic

만약 __CAPGO_KEEP_0__을 사용하고 있다면 Codemagic와 함께 Capacitor IOS 빌드를 자동으로 생성하세요 CI/CD 자동화 계획을 위해 __CAPGO_KEEP_0__ CI/CD와 연결하세요 Capgo CI/CD에서 제품 워크플로우를 관리하세요 Capgo Native Builds에서 제품 워크플로우를 관리하세요 Capgo Integrations에서 제품 워크플로우를 관리하세요 Capgo CI/CD와의 통합 Capgo Integrations Capgo Actions 통합을 관리하세요 __CAPGO_KEEP_0__ CI/CD와의 통합을 관리하세요 __CAPGO_KEEP_0__ CI/CD와의 통합을 관리하세요 GitHub CI/CD와의 통합을 관리하세요 GitHub 액션 통합 구현 세부 사항에 대해.

Capacitor 앱에 대한 실시간 업데이트

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

시작하기

블로그에서 최신 소식

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