Skip to main content

AWS 上で Bitrise ビルドを実行する

Bitrise は、AWS Marketplace で Amazon Machine Image (AMI) として入手できます。 Bitrise AMI を使用すると、Bitrise に接続された AWS EC2 インスタンス上の独自の AWS リソースを使用して Bitrise ビルドを実行できます。 ワークスペース

AWS オプションを選択する場合

お客様が管理するインフラストラクチャ上で Bitrise ビルドを実行する必要がある場合、AWS EC2 インスタンスを使用するか、オンプレミス オプションを使用するかの 2 つのオプションが提供されます。

あなたまたはあなたの会社が重要なインフラストラクチャを運用するための AWS アカウントをすでに持っている場合は、AWS インスタンスを使用して Bitrise ビルドを実行することをお勧めします。 AWS インスタンスを使用すると、次のようないくつかの利点があります。

  • プラグアンドプレイ: 必要なツールがすべてプリインストールされた、Amazon Machine Image (AMI) をモバイル固有のビルド環境として提供します。特別な設定は必要ありません。EC2 インスタンスを設定するだけで済みます。

  • 環境の制御: インスタンスの起動時にネットワークとストレージの設定を構成でき (たとえば、Bitrise ビルド用に別のサブネットを構成できます)、すべてのビルド マシンが独自の AWS 環境で実行され、企業のセキュリティに従って動作するようにすることができます。ポリシー。

  • セキュリティ: コードベースは完全に制御下に残ります。

    AWS 環境から流出する情報

    特定の機能を使用することは、AWS 環境を離れることを意味します。たとえば、ビルド キャッシュの使用、ビルド アーティファクトやテスト結果の生成などです。

AWS アカウントをお持ちでない場合、他のクラウドプロバイダーを使用している場合、またはすでに独自のマシンを管理している場合は、こちらを確認することをお勧めします。 当社のオンプレミス ランナー製品

AWS オファリングのタイプ

AWS AMI には、2 つの基本的なタイプの Bitrise があります。

  • ベアメタル: ビルドは AWS マシン上で直接実行されます。これは、自分のコンピュータ上にある場合と同じように、ビルド環境が永続的であることを意味します。環境をクリーンアップしない限り、ビルドのアーティファクトまたはキャッシュ アイテムが後続のビルドに影響を与える可能性があります。

  • 仮想化/VMベース: Bitrise と同様に、すべてのビルドは独自の仮想マシンで実行され、ビルドが完了すると破棄されます。これは、Apple の仮想化フレームワーク上に構築された Bitrise 管理のマシン上で何百万ものビルドを実行してきた Bitrise の仮想化ソリューションを利用しています。仮想化ソリューションを含む当社の macOS 製品は、Apple シリコン マシンでのみ利用できます。

AMI の更新

Bitrise AMI は、プリインストールされたツールの最新バージョンで常に更新されます。ただし、AWS AMI のレビュー プロセスのため、Xcode および Android Studio の最新バージョンを AMI の形式で提供すると、Bitrise が管理するマシンよりも時間がかかります。現在利用可能なバージョンは、 AWSスタックレポート

Mac 専用ホストの AWS 料金

macOS インスタンスの場合は、専用ホストを割り当てる必要があります。オンデマンド EC2 Mac D dedicated Host の最小ホスト割り当てと請求期間は 24 時間です。詳細については、AWS の公式ドキュメントを参照してください。 Amazon EC2 専用ホストの料金

ベアメタル Linux

ベアメタル Linux AMI は、次の AWS インスタンス タイプで利用できます。

  • t2.2xlarge

  • t2.xlarge

  • c5n.metal

  • c5.xlarge

  • c5.metal

  • c5.4xlarge

  • c5.2xlarge

インスタンスの種類が異なれば、コンピューティングのニーズも異なります。さまざまなインスタンス タイプの機能と機能の詳細については、次を確認してください。 AWS の公式ドキュメント

Androidエミュレータを実行できるのは、 metal インスタンスタイプのみ。他のインスタンス タイプはエミュレータの使用をサポートしていません。

ベアメタル macOS

ベアメタル macOS AMI は、次のインスタンス タイプの Apple Silicon マシンでのみ使用できます。

  • mac2.metal

  • mac2-m2.metal

  • mac2-m2pro.metal

Android エミュレーターは、上記のすべてのインスタンス タイプでサポートされています。

仮想化された macOS

仮想化された macOS AMI は、次のインスタンス タイプの Apple Silicon マシンでのみ使用できます。

  • mac2.metal

  • mac2-m2.metal

  • mac2-m2pro.metal

仮想化は一時的なビルド環境を提供します。仮想マシンはビルドが完了するたびに破棄されます。これは、すべてのビルドが完全にクリーンな環境で実行され、以前のビルドは影響を受けないことを意味します。

ビルドごとに 1 つまたは 2 つの VM を実行するオプションがあります。ビルドのリソース集中度に応じて、2 つの VM を実行すると、ハードウェア コストが大幅に節約される可能性があります。

Androidエミュレーションなし

Apple シリコン アーキテクチャはネストされた仮想化をサポートしていないため、Android エミュレーションは利用できません。

EC2インスタンスのセットアップ

AWS EC2 インスタンス上で Bitrise ビルドを実行するには、次のことを行う必要があります。

  1. Bitrise でエージェント プールを構成する: ビルド用のエージェント プールを設定し、Bitrise ワークスペースを AWS EC2 インスタンスに接続するために必要なトークンを取得します。

  2. Bitrise AMI にサブスクライブして AWS EC2 インスタンスを起動する。 Mac または Linux インスタンスを起動できます。 Mac インスタンスの場合は、インスタンスを起動する前に専用ホストを割り当てる必要があります。

  3. トークンを使用してインスタンスを Bitrise ワークスペースに接続します。これにより、Bitrise エージェントが EC2 インスタンス上でビルドを実行できるようになります。