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

Codemagicを使用した自動Capacitor IOSビルド

CodemagicとCodemagicを使用した5分でIOS IonicアプリのCI/CDパイプラインを設定する方法 (2024)

記事のクレジット

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

ライター

バレリア

レビュアー

ジョーダン

エディター

Automatic Capacitor IOS build with Codemagic

iOS向けのCodemagicを使用した継続的な配信

前提条件

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

  • iOS開発者プログラムのメンバーシップ
  • 読むのが欲しい😆…

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

価格: Codemagicアクション

https://codemagic.io/pricing/

サービスは‘無料 1 か月あたり 500 分の macOS M1 時間、選択したマシンに応じて。
このチュートリアルでは、 MacOS M1 マシンを使用します。スクリーンショットに表示されている価格と制限を確認してください (価格はこのチュートリアルの作成時点のもので、将来の変更が可能です)

🔴 要件と価格についての注意を出してから、続ける場合はこちら

📣 このチュートリアルでは、iTunes Connectでアプリを作成し、Appleのエコシステムの証明書を所有していることを前提としています。Codemagicがすべての設定を完了します!

では始めましょう!

このチュートリアルで説明する手順

  1. App Store Connect API を使用して Codemagic
  2. 必要なもの
  3. App Store Connect API キーを作成する
  4. App Store Connect API を使用する
  5. ファストレーンのファイルをコピーする
  6. コデマジックを設定する

1. App Store Connect API を使用してコデマジックを設定する

2021年2月以降、すべてのユーザーがApp Store Connectにサインインするには、2要素認証または2段階認証が必要になります。Apple IDのセキュリティの追加レイヤーは、自分のアカウントにアクセスできるのは自分だけであることを保証するため、セキュリティ上のリスクを軽減します。
From Apple Support

matchを始めるには、既存の証明書を取り消す必要がありますが、心配はいりません。新しい証明書は直接取得できます。

要件

App Store Connect API を使用するには、コデマジックには 3 ものが必要です。

  1. 発行者ID。
  2. キーID。
  3. キーファイルまたはキー内容。

App Store ConnectのAPIキーを作成する

App Store Connectのキーを生成するには、Adminの権限が必要です。権限がない場合は、この記事を参照し、以下の手順に従ってください。

1 — App Store Connectにログインします。 App Store Connect.

2 — 選択 App Store Connectのユーザーとアクセス.

3 — __CAPGO_KEEP_0__ キーを選択します。

App Store ConnectのAPI キー

4 — App Store ConnectのAPI キー

4 — API を生成するには、Generate ボタンをクリックしてください。

App Store Connect API キーを作成します。

5 — キーの名前を入力し、権限を選択してください。アクセス権限を選択することをお勧めします。 App Manager アクセス権限については、Apple Developer Program のロールパーミッションを参照してください。 ここ

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

6 — Generate をクリックしてください。

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

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

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

必要な情報をすべてここで取得してください。 <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 ID と Key ID 値。

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

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

今、Codemagicを管理するためにApp Store Connect API キーが使用できるようになりました。素晴らしいことですね!

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

証明書

XCodeを開いて、 設定 > アカウント > Apple ID > チーム とチームを選択する

Code 署名の特性

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

Apple Distribution

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

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

このように、キーチェーンに移動してログイン login と マイ証明書.

マイ証明書

次に、ダウンロードしたい証明書を選択できます。 (証明書の日付で検索してください)

次に、証明書に右クリックして エクスポート.

ファイル形式を選択 パーソナル情報交換 (.p12).

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

オープン

Open マイ証明書 そして適切なチームを選択してください。

次に、新しいプロファイルを作成し、以下のボタンをクリックしてください。 +

新しいプロファイルを作成

そして App Store Connect.

App Store Connectを選択

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

適切なアプリを選択

適切な証明書を選択してください。有効期限が同じ日に同じ月のものを探してください。次に、以下のボタンをクリックしてください。 Continue.

適切な証明書を選択

最後に、プロファイルの名前を入力し、以下のボタンをクリックしてください。 作成.

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

プロファイルを作成

プロファイルをダウンロードすることができます。 .mobileprovision ファイル。

プロファイルをダウンロード

Codeの署名証明書を追加

Codemagicでは、PKCS#12アーカイブに署名証明書と秘密鍵が含まれる場合、codeの署名証明書をアップロードできます。アップロードする際、証明書がパスワード保護されている場合、証明書のパスワードと一意の 参照名、を提供する必要があります。これは、特定のファイルを取得するために使用できるように、 codemagic.yaml 設定で使用できます。

  • 証明書をアップロード
  • iOSビルドの自動化
  • 開発者ポータルから取得
  1. Codemagicチームの設定を開き、 codemagic.yamlの設定 > Codeの署名情報.
  2. 開く iOS証明書 タブを開く。
  3. 証明書ファイルをアップロードするには、 ファイルを選択する または、指定されたフレームにドラッグする
  4. 入力してください 証明書パスワード 選択してください 参照名.
  5. クリック 証明書を追加

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

Codemagicでは、Apple Developer Portalからプロファイルを取得するか、特定のアプリケーションに使用するためにプロファイルをアップロードすることができます。

プロファイルのタイプ、チーム、バンドルID、有効期限は、Code署名識別子に追加された各プロファイルで表示されます。また、Codemagicでは、code署名証明書がCode署名識別子に存在するかどうかを知らせます (緑のチェックマークが表示されます)。 証明書 3. Codemagicの設定

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

Codemagicのシークレットを設定

値の場所を知りたいですか? ENV 値はプロジェクトのシークレットから取得されます。

4. Codemagicワークフローファイルを設定

プロジェクトのルートディレクトリにファイルを追加してください。 codemagic.yml このワークフローは、または各__CAPGO_KEEP_0__タグの後でトリガーされる必要があります。

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後にトリガーされるようにする必要があります。 tagワークフローは、または各__CAPGO_KEEP_0__タグの後でトリガーされる必要があります。 自動ビルドとリリースとGitHubアクション first.

ワークフローは、または各__CAPGO_KEEP_0__タグの後でトリガーされる必要があります。

各時点で新しいタグを送信すると、テストフライトでリリースが作成されます。

アプリはIonicを使用する必要はありませんが、Capacitorベースは必須です。古いCordovaモジュールを使用してもかまいませんが、CapacitorJSプラグインを使用することをお勧めします。

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

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

新しいコミットをブランチにプッシュする main または development 上記のワークフローをトリガーするには、どのようにすればいいのでしょうか。

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

コミットを開始します

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

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

手動で開始する

まず、ビルドしたいアプリを選択し、 新しいビルドを開始.

アプリを選択

次に、ビルドしたいブランチを選択

ブランチを選択

そして 新しいビルドを開始.

ビルドリスト

そしてビルド結果を表示する

ビルド結果

ローカルマシンからデプロイ

ローカルマシンからデプロイできます。

はい、できます。とても簡単です。

Xcodeを使用して、常にアプリをビルドして署名できます。

ありがとうございます。

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

自動CapacitorIOSビルドからCodemagicに進みましょう。

Codemagicを使用している場合 自動CapacitorIOSビルドからCodemagic CI/CDの自動化を計画する場合、__CAPGO_KEEP_0__ CI/CDに接続してください。 CI/CDのCapgo Capgo CI/CDの製品ワークフローに Capgo ネイティブビルド Capgo ネイティブビルドの製品ワークフローに Capgo インテグレーション Capgo インテグレーション CI/CD統合 __CAPGO_KEEP_0__ アクション統合 GitHub アクション統合 Capacitorの実装詳細については、GitHub Actions統合です。

Capacitor アプリのライブアップデート

Capgo アプリのライブアップデートは、ウェブ層のバグが生じた場合に、修正をアプリストアの承認待ちの日数を待たずに、Capgo を通じて配信することができます。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通じて進みます。

マーティンによる人間のサポート

今すぐ始めよう

最新のブログ記事

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