Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

チュートリアル: CodeBuild で証明書ストレージに S3 を使用して Fastlane で Apple コード署名する S3

フォーカスモード
チュートリアル: CodeBuild で証明書ストレージに S3 を使用して Fastlane で Apple コード署名する S3 - AWS CodeBuild

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

fastlane は、iOS および Android アプリのベータデプロイとリリースを自動化するための一般的なオープンソース自動化ツールです。スクリーンショットの生成、コード署名の処理、アプリケーションのリリースなど、面倒なタスクをすべて処理します。

前提条件

このチュートリアルを完了するには、まず以下を設定する必要があります。

  • AWS アカウント

  • Apple 開発者アカウント

  • 証明書を保存するための S3 バケット

  • プロジェクトに fastlane がインストールされている - fastlane をインストールするためのガイド

ステップ 1: ローカルマシンで S3 で Fastlane Match を設定する

Fastlane Match Fastlane ツールの 1 つであり、ローカル開発環境と CodeBuild の両方でコード署名のシームレスな設定を可能にします。Fastlane Match は、すべてのコード署名証明書とプロビジョニングプロファイルを Git リポジトリ/S3 バケット/Google クラウドストレージに保存し、必要に応じて必要な証明書とプロファイルをダウンロードしてインストールします。

この例では、Amazon S3 バケットをストレージ用にセットアップして使用します。

  1. プロジェクトで一致を初期化します。

    fastlane match init
  2. プロンプトが表示されたら、ストレージモードとして S3 を選択します。

  3. 「Matchfile」を更新して S3 を使用します。

    storage_mode("s3") s3_bucket("your-s3-bucket-name") s3_region("your-aws-region") type("appstore") # The default type, can be: appstore, adhoc, enterprise or development

ステップ 2: Fastfile を設定する

次のレーンで `Fastfile` を作成または更新します。

CodeBuild では、アプリを構築して署名するたびに Fastlane Match を実行する必要があります。これを行う最も簡単な方法は、アプリを構築するレーンに matchアクションを追加することです。

default_platform(:ios) platform :ios do before_all do setup_ci end desc "Build and sign the app" lane :build do match(type: "appstore", readonly: true) gym( scheme: "YourScheme", export_method: "app-store" ) end end
注記

一致アクションが正しく機能するには、 の setup_cibefore_all セクションFastfileに を追加してください。これにより、適切なアクセス許可を持つ一時的な Fastlane キーチェーンが使用されます。これを使用しないと、ビルドの失敗や一貫性のない結果が表示されることがあります。

ステップ 3: fastlane match コマンドを実行して、それぞれの証明書とプロファイルを生成する

特定のタイプ (開発、アプリストア、アドホック、エンタープライズなど) の fastlane マッチコマンドは、リモートストアで使用できない場合に証明書とプロファイルを生成します。証明書とプロファイルは fastlane によって S3 に保存されます。

bundle exec fastlane match appstore

コマンドの実行はインタラクティブになり、fastlane は証明書を復号するためのパスフレーズを設定するよう に要求します。

ステップ 4: プロジェクトのアプリケーションファイルを作成する

プロジェクトに応じてアプリケーションファイルを作成または追加します。

  1. プロジェクトのビルド要件に基づいて、GymfileAppfileSnapfileDeliverfile を作成または追加します。

  2. リモートリポジトリに変更をコミットする

ステップ 5: Secrets Manager で環境変数を作成する

Fastlane セッション Cookie と一致するパスフレーズを保存するための 2 つのシークレットを作成します。Secrets Manager でのシークレットの作成の詳細については、「 シークレットの作成 AWS Secrets Manager」を参照してください。

  1. 次のように fastlane セッション Cookie にアクセスします。

    1. シークレットキー - FASTLANE_SESSION

    2. シークレット値 - ローカルマシンで次のコマンドを実行することで生成されたセッション Cookie。

      注記

      この値は、ローカルファイルの認証後に使用できます: ~/.fastlane/spaceship/my_appleid_username/cookie

      fastlane spaceauth -u <apple account>
  2. Fastlane Match パスフレーズ - Fastlane Match が S3 バケットに保存されている証明書とプロファイルを復号できるようにするには、Match セットアップステップで設定した暗号化パスフレーズを CodeBuild プロジェクトの環境変数に追加する必要があります。

    1. シークレットキー - MATCH_PASSWORD

    2. シークレット値 - <証明書を復号するためのパスフレーズを一致>。ステップ 3 で証明書を生成するときにパスフレーズが設定されます。

注記

Secrets Manager で上記のシークレットを作成するときは、シークレット名に次のプレフィックスを付けてください。 /CodeBuild/

ステップ 6: コンピューティングフリートを作成する

プロジェクトのコンピューティングフリートを作成します。

  1. コンソールで、CodeBuild に移動し、新しいコンピューティングフリートを作成します。

  2. オペレーティングシステムとして「macOS」を選択し、適切なコンピューティングタイプとイメージを選択します。

ステップ 7: CodeBuild でプロジェクトを作成する

CodeBuild でプロジェクトを作成します。

  1. AWS CodeBuild コンソールを https://console.aws.amazon.com/codesuite/codebuild/home.com で開きます。

  2. ビルドプロジェクトを作成します。詳細については、「ビルドプロジェクトの作成 (コンソール)」および「ビルドの実行 (コンソール)」を参照してください。

  3. ソースプロバイダー (GitHub、CodeCommit など) を設定します。これは iOS プロジェクトソースリポジトリであり、証明書リポジトリではありません。

  4. [環境] で以下の操作を行います。

    • リザーブドキャパシティを選択します。

    • フリート で、上記で作成したフリートを選択します。

    • CodeBuild が作成するサービスロールの名前を指定します。

    • 以下の環境変数を指定します。

      • 名前: MATCH_PASSWORD、値: <secrets arn>、タイプ: Secrets Manager (ステップ 5 で MATCH_PASSWORD 用に作成されたシークレット ARN)

      • 名前: FASTLANE_SESSION、値: <secrets arn>、タイプ: Secrets Manager (FASTLANE_SESSION のステップ 5 で作成されたシークレット ARN)

  5. Buildspec で、以下を追加します。

    version: 0.2 phases: install: commands: - gem install bundler - bundle install build: commands: - echo "Building and signing the app..." - bundle exec fastlane build post_build: commands: - echo "Build completed on date" artifacts: files: - '*/.ipa' name: app-$(date +%Y-%m-%d)

ステップ 8: IAM ロールを設定する

プロジェクトが作成されたら、CodeBuild プロジェクトのサービスロールに、証明書を含む S3 バケットへのアクセス許可があることを確認します。ロールに次のポリシーを追加します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::your-s3-bucket-name" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::your-s3-bucket-name/*" } ] }

ステップ 9: ビルドを実行する

ビルドを実行します。CodeBuild でビルドステータスとログを確認できます。

ジョブが完了すると、ジョブのログを表示できるようになります。

トラブルシューティング

  • 証明書の取得で問題が発生した場合は、IAM アクセス許可が S3 アクセス用に正しく設定されていることを確認します。

  • 証明書の復号で問題が発生した場合は、MATCH_PASSWORD 環境変数で正しいパスフレーズを設定してください。

  • コード署名の問題については、Apple Developer アカウントに必要な証明書とプロファイルがあり、Xcode プロジェクトのバンドル識別子がプロビジョニングプロファイルのものと一致することを確認します。

セキュリティに関する考慮事項

このチュートリアルのセキュリティ上の考慮事項を次に示します。

  • S3 バケットに、保管時の暗号化など、適切なセキュリティ設定があることを確認します。特に、バケットにパブリックアクセスがないことを確認し、アクセスが必要な CodeBuild とシステムのみにアクセスを制限します。

  • MATCH_PASSWORD や FASTLANE_SESSION などの機密情報を保存 AWS Secrets Manager するために を使用することを検討してください。

このサンプルでは、証明書ストレージに Amazon S3 を使用して CodeBuild の Fastlane で iOS コード署名をセットアップします。特定のプロジェクト要件と CodeBuild 環境に基づいて、いくつかのステップを調整する必要がある場合があります。このアプローチでは、 AWS サービスを活用して AWS 、エコシステム内のセキュリティと統合を強化します。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.