メインコンテンツにジャンプ
CI/CD

Capacitorの自動iOSビルドはCodemagicで

CodemagicとCodemagicを使用して5分以内にiOS IonicアプリのCI/CDパイプラインを設定する方法 (2024)

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケター

Capacitorの自動iOSビルドはCodemagicで

iOS向けの継続的なデリバリー使用Codemagic

前提条件

チュートリアルを続ける前に…

  • iOS開発者プログラムの会員資格
  • 読むことを望む…

価格についての重要なこと

価格Codemagicアクション

https://codemagic.io/pricing/

サービスは「月に500時間のmacOS M1 / 月、選択したマシンに応じて ここでは、
free' macOS M1 スクリーンショットの画像を確認すると、価格と制限 (価格はこのチュートリアルの作成時点のもので、将来の変更が可能です) がわかります。

🔴 要件と価格についての注意を出してから、続ける場合はどうですか?

📣 この記事では、iTunes Connectでアプリを作成し、Appleのエコシステムの証明書を持っていることを前提としています。Codemagicがすべての設定を完了します。

では、始めましょう!

この記事で説明する手順

  1. Codemagicと連携してApp Store Connect APIを使用する
  2. App Store Connect __CAPGO_KEEP_0__ キーの作成
  3. App Store Connect API キーの使用
  4. Using an App Store Connect API Key
  5. Codemagicの設定
  6. macOS M1

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 は three

  1. 3 つの
  2. 必要な
  3. ものがあります。

App Store Connect API キーを作成する

App Store Connect のキーを生成するには、App Store Connect での Admin 権限が必要です。権限がなければ、この記事を指示する人に伝え、以下の手順に従ってください。

1 — App Store Connect にログインする App Store Connect.

2 — "ユーザーとアクセス"を選択する App Store Connect ユーザー アクセス.

3 — __CAPGO_KEEP_0__ キー タブを選択する

App Store Connect API キー

4 — API キーを作成するまたは追加 (+) ボタンをクリックする

App Store Connect API キーを作成する

App Store Connect API keys create

5 — キーの名前を入力し、アクセス レベルを選択する。アクセス レベルを選択する際は、"管理者" を選択することをおすすめします。 App Manager アクセス権限、Apple Developer Programの役割権限について詳しく知りましょう。 ここ

App Store Connect API キーを作成する名前

6 — クリックして生成。

API キーのアクセスは、特定のアプリに制限できません。

新しいキーの名前、キーアイデンティティ、ダウンロードリンク、他の情報がページに表示されます。

App Store Connect キーをダウンロード

必要な3つの情報をすべてここに取得しましょう: <1> Issue ID。
<2> Key ID。
<3> 「ダウンロード API キー」をクリックして、API プライベート キーをダウンロードしてください。ダウンロード リンクは、プライベート キーがまだダウンロードされていない場合にのみ表示されます。Apple はプライベート キーを保持していないため、プライベート キーを一度だけダウンロードできます。

🔴 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署名のIDを選択します code署名のIDを選択します 証明書をアップロードします 証明書をアップロードします

  2. ボタンをクリックします キーを追加します キーに表示される人間が読める名前を入力します

  3. この名前は、後でアプリケーション設定でキーを参照するときに使用されます App Store Connect API key nameボタンをクリックします

  4. を入力してください Issuer IDKey ID の値を入力してください。

  5. をクリックしてください App Store Connect の .p8 ファイルを選択してください または、App Store Connect の API キーをダウンロードしたときにアップロードするファイルをドラッグしてください。

  6. をクリックしてください を保存してください.

App Store Connect の API キーを使用して Codemagic を管理できるようになりました、素晴らしい!

2. 証明書とプロビジョニング プロファイルを作成する

証明書

XCode を開いて、 設定 > アカウント > Apple ID > チーム チームを選択してください。

Code署名のID

クリックしてください 証明書を管理 > +Apple Distribution.

Apple Distribution

すると、新しい証明書を作成できます。

次に、キーチェーンに移動して証明書をダウンロードする必要があります。 .p12 __CAPGO_KEEP_0__。

これを行うには、キーチェーンに移動し、ログインキーチェーンに切り替え、次にタブ My Certificates My Certificates 次に、ダウンロードしたい証明書を選択できます。(証明書の日付で検索してください).

そして、証明書に右クリックし、

Export

ファイル形式を選択 Personal Information Exchange (.p12).

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

ファイルとしての証明書をダウンロードします。 .p12 ファイル。

プロビジョニング プロファイル

Open Apple Developer と適切なチームを選択してください。

Create a new profile +

Create a new profile

App Store Connect App Store Connect.

適切なアプリを選択してください。ワイルドカードを使用すると署名が失敗する可能性があるため、注意してください。

Then create a new profile, by clicking on __CAPGO_KEEP_0__

適切なアプリを選択

適切な証明書を選択してください (有効期限の日付を確認してください。今日と同じ月と日でなければなりません)。 続行.

適切な証明書を選択

最後に、プロファイルの名前を入力し、 生成.

名前はCodemagicでプロファイルを識別するために使用されます。

プロファイルを生成

プロファイルはファイルとしてダウンロードできます。 .mobileprovision プロファイルをダウンロード

 __CAPGO_KEEP_0__署名証明書を追加

Code署名証明書を追加する

Codemagicでは、code署名証明書をPKCS#12アーカイブとしてアップロードできます。このアーカイブには、証明書と必要な秘密鍵が含まれています。この証明書を使用するには、秘密鍵が必要です。アップロードするとき、Codemagicは証明書のパスワード(証明書がパスワード保護されている場合)と一意の Reference name, which can then be used in the codemagic.yaml Upload certificate

  • Generate new certificate
  • Fetch from Developer Portal
  • Codemagicチームの設定を開き、
  1. codemagic.yaml設定 __CAPGO_KEEP_0__署名のID > Code signing identities.
  2. iOS証明書 証明書をアップロードする タブ。
  3. __CAPGO_KEEP_0__をクリックして証明書ファイルをアップロードしてください。 .p12または.pemファイルを選択してください。 または、指定された枠にドラッグしてください。
  4. Enter the 証明書パスワード参照名.
  5. Click 証明書を追加

プロビジョニングプロファイルを追加しています。

Codemagicは、Apple Developer Portalからプロファイルを取得するか、適用用にアプリケーションに使用するプロファイルをアップロードすることを許可しています。

プロファイルのタイプ、チーム、バンドルID、有効期限はそれぞれのプロファイルがCode署名IDに追加されている場合に表示されます。また、Codemagicはcode署名証明書がCode署名ID (緑のチェックマークがフィールド内にある場合) またはないかを知らせます。 証明書 3. Codemagicの設定

Codemagicのシークレットを設定

値の値はどこから来ているのでしょうか? それは秘密ではありません – それはあなたのプロジェクトのシークレットからです。 🤦

4. Codemagicワークフロー ファイルの設定 ENV プロジェクトのルートディレクトリにファイルを名付けて

以下の内容を追加してください。

このワークフローは、手動でトリガーするか、または各__CAPGO_KEEP_0__タグ後にトリガーされるようにしてください。 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 Codemagicのシークレットを設定, 自動タグ付けに必要な場合は、 自動ビルドとリリースのためにGitHubアクションを参照してください 最初に。

その後、このワークフローはNode.jsの依存関係を取得し、JavaScriptアプリをビルドします。

各タグの送信ごとに、テストフライトでリリースが作成されます。

アプリはIonicを使用する必要はありません。ただし、Capacitorベースは必須であり、古いCordovaモジュールを使用することができますが、CapacitorJSプラグインを使用することを推奨します。

5. ワークフローをトリガーする

ワークフローをトリガーする

ブランチに新しいコミットをプッシュする main または development ワークフローをトリガーするために。

コミット開始

数分後、ビルドはApp Store Connect ダッシュボードで利用可能になります。

テストフライト ダッシュボード

手動で開始

ワークフローを手動で開始できます。

__CAPGO_KEEP_0__を選択してから 新しいビルドを開始.

__CAPGO_KEEP_0__を選択

ビルドするブランチを選択

新しいビルドを開始

そしてビルドリストに移動してください Capacitor.

Capgo

ビルドリスト

ビルドをクリックすると結果が表示されます。

ビルド結果

ローカルマシンからデプロイすることができます

はい、簡単です。

Xcodeを使用してアプリをビルドおよび署名することができます。

感謝します

このブログは以下の記事に基づいています。

自動的なCapacitorIOSビルドから続けてください

あなたが使用している場合 Codemagicを使用した自動Capacitor IOSビルド CI/CD自動化の計画を行う場合、__CAPGO_KEEP_0__ CI/CDに接続します。 Capgo CI/CD Capgo CI/CDの製品ワークフロー Capgo Native Builds Capgo Native Buildsの製品ワークフロー Capgo Integrations Capgo Integrationsの製品ワークフロー CI/CD統合 CI/CD統合の実装詳細 GitHub Actions Integration GitHub の実装詳細についてのアクション統合のために。

Capacitorアプリのリアルタイム更新

ウェブ層のバグが生じた場合、Capgoを使用して修正を配信し、数日間待つ必要のあるアプリストアの承認を待つのではなく。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路に残ります。

今すぐ始めましょう

ブログの最新記事

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。