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

Codemagicで自動的にCapacitorのiOSビルド

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

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

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

コンテンツマーケター

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

Codemagicを使用したiOSの継続的デリバリー

前提条件

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

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

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

価格:Codemagicアクション

https://codemagic.io/pricing/

サービスは ‘無料’ 月に 500 分までの macOS M1 分钟、選択したマシンに依存します。
ここでは、 macOS M1 マシンを使用します。スクリーンショットでは、その価格と制限を確認できます (価格はこのチュートリアルの作成時点のものであり、将来の変更が可能です)。

🔴 要件と価格については警告された後、続ける場合はどうですか?

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

では、始めましょう!

この記事で従う手順

  1. Codemagic と App Store Connect API を使用する
  2. 必要なもの
  3. App Store Connect API キーを作成する
  4. App Store Connect API キーを使用する
  5. Fastlane ファイルをコピーする
  6. Codemagic を構成する

1. Codemagic と App Store Connect API を使用する

2021 年 2 月以降、すべてのユーザーが App Store Connect にサインインするには、2 つの要素認証または 2 つのステップの検証が必要になります。この追加のセキュリティ層は、Apple ID のセキュリティを確保するために役立ちます。
App Store Connect __CAPGO_KEEP_0__ を使用するには、Codemagic に必要なのは Apple Support

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

要件

App Store Connect API を使用するには、Codemagic に必要なのは 3 つです Starting February 2021, two-factor authentication or two-step verification is required for all users to sign in to App Store Connect. This extra layer of security for your Apple ID helps ensure that you’re the only person who can access your account. ものたち。

  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__キータブを選択する

3 — Select the API Keys tab.

App Store Connect API Keys

4 — API Keyの生成または(+)ボタンをクリックしてください。

App Store Connect API keysの作成

5 — キーの名前を入力し、権限のレベルを選択してください。 App Manager 権限の詳細については、Apple Developer Programのロールパーミッションを参照してください。 App Store Connect __CAPGO_KEEP_0__ keysの作成名

App Store Connect API keys create name

__CAPGO_KEEP_0__キーは特定のアプリに権限を制限することはできません。

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

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

必要な3つの情報をここで取得してください:
<1> Issue ID.

__CAPGO_KEEP_0__
<2> キーID。
<3> 「API キーをダウンロードする」ボタンをクリックして、API プライベート キーをダウンロードしてください。ダウンロード リンクは、プライベート キーがまだダウンロードされていない場合にのみ表示されます。Apple はプライベート キーを保管していないため、ダウンロードすることができます。

🔴 プライベート キーを安全な場所に保管してください。キーを共有しないでください、キーを code リポジトリに保管しないでください、またはクライアントサイドの code にキーを含めないでください。

App Store Connect API キーを Codemagic に追加する

  1. Codemagic チーム設定を開いてください チーム統合を選択してください チームを開いてください code 署名の身元を選択してください code 署名の身元を選択してください 証明書をアップロードしてください 証明書をアップロードしてください

  2. __CAPGO_KEEP_0__ をクリックしてください キーを追加 ボタン。

  3. キーを入力してください。 App Store Connect API key nameこのキーは、後でアプリケーション設定でキーを参照するために使用される人間が読める名前です。

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

  5. このボタンをクリックしてください。 App Store Connectの__CAPGO_KEEP_0__キーをダウンロードした場合は、.p8ファイルを選択してください。 or drag the file to upload the App Store Connect API key downloaded earlier.

  6. このボタンをクリックしてください。 保存.

今、CodemagicをApp Store ConnectのAPIキーで管理できます、素晴らしい!

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

証明書

XCodeを開き、 設定 > アカウント > Apple ID > チーム と自分のチームを選択する。

Code の署名識別子

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

Apple Distribution

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

すると、証明書をファイルとしてダウンロードするには、キーチェーンに移動し、 .p12 ログインに切り替えてください

キーチェーンに移動してください と切り替えてください 鍵付きのタブと次にタブ 私の証明書.

私の証明書

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

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

ファイル形式を選択してください パーソナル情報交換(.p12).

証明書をファイルとしてダウンロードします。 .p12 プロビジョニングプロファイル

開く

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

新しいプロファイルを作成するには、 +

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

と選択 App Store Connect.

App Store Connectを選択

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

適切なアプリを選択

前に作成した適切な証明書を選択し、有効期限の日付を確認して、 続行.

適切な証明書を選択

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

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

プロファイルを生成

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

__CAPGO_KEEP_0__署名証明書を追加する

Codemagicでは、Code署名証明書をPKCS#12アーカイブとしてアップロードすることができます。アーカイブには、証明書と必要な秘密鍵が含まれます。アップロードする際、証明書がパスワード保護されている場合、証明書のパスワードと一意の

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 configuration

  • 証明書をアップロード
  • 新しい証明書を生成
  • 開発者ポータルから取得
  1. Codemagic Teamの設定を開き、 codemagic.yamlの設定 > Codeの署名識別子.
  2. を開く iOS証明書 タブを開く。
  3. 証明書ファイルをアップロードするには、 ファイルを選択するには.p12または.pemファイルをクリックしてください または、指定された枠にドラッグしてください。
  4. Enter the 証明書パスワード と選択する 参照名.
  5. Click 証明書を追加

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

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

プロファイルのタイプ、チーム、バンドルID、有効期限は、Code署名のIDに追加された各プロファイルで表示されます。また、Codemagicは、code署名証明書がCode署名のIDに存在する場合(緑のチェックマークが「証明書」フィールド内に表示される場合)または存在しない場合を知らせます。 証明書 フィールド

3. Codemagicのセットアップ

Codemagicのシークレットを設定

値の 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 このワークフローは、手動でトリガーするか、または各__CAPGO_KEEP_0__タグ Automatic build and release with GitHub actions 自動化したい場合は、タグの自動化については「Automatic build and release with __CAPGO_KEEP_0__ actions」を参照してください。

Node.js の依存関係を取得し、インストールし、JavaScript アプリをビルドします。

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

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

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

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

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

コミット開始

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

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

手動で開始する

__CAPGO_KEEP_0__を手動で開始できます。

まず、作成したいアプリを選択し、 __CAPGO_KEEP_1__.

アプリを選択

次に、ビルドしたいブランチを選択してください。

ブランチを選択

そして __CAPGO_KEEP_1__.

次に、ビルドリストに移動してください。

ビルドリスト

そして、ビルド結果を確認するには、ビルドをクリックしてください。

ビルド結果

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

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

Xcodeを使用してアプリをビルドして署名することができます。いつもと同じです。

感謝します

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

Keep going from Automatic Capacitor IOS build with Codemagic

CI/CDの自動化を計画する場合に使用している場合 Automatic Capacitor IOS build with Codemagic CI/CDの自動化を計画する場合に接続するもの Capgo CI/CD Capgoの製品ワークフロー Capgo Native Builds Capgoのネイティブビルドワークフロー Capgo Integrations Capgoの統合ワークフロー CI/CD Integration CI/CD統合の実装詳細 GitHub Actions Integration GitHub Actions統合の実装詳細

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

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

Get Started Now

Latest from our Blog

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