Bitrise AMI の EC2 インスタンスの起動
独自の Amazon EC2 インスタンスで Bitrise エージェントを実行するための専用の Bitrise Amazon Machine Image (AMI) を提供します。
AWS UI 経由でインスタンスを起動します。
あなたもすることができます AWS CLI 経由でインスタンスを起動する。
EC2 インスタンスの準備
Mac インスタンス
Linux インスタンス
-
ランナープールの設定 そして、認証に必要なトークンをコピーします。
-
Bitriseにランナープールを追加するプロセスからトークンを取得します。
-
AWS マネージャーシークレットの作成 そして、そのトークンをシークレットに保存します。
-
IAM ロールを作成する シークレットを読み取る権限がある。EC2 インスタンスにアタッチする必要があります。
-
専用ホストを割り当てる AWS で。自動生成されたホスト ID が必要です。
-
ランナープールの設定 そして、認証に必要なトークンをコピーします。
-
Bitriseにランナープールを追加するプロセスからトークンを取得します。
-
AWS マネージャーシークレットの作成 そして、そのトークンをシークレットに保存します。
-
IAM ロールを作成する シークレットを読み取る権限がある。EC2 インスタンスにアタッチする必要があります。
インスタンスを設定する
Mac インスタンス
Linux インスタンス
-
AWS マーケットプレイスのページに移動し、左側で以下を選択します サブスクリプションを管理。
-
必要な AMI を選択し、以下を選択してください 新しいインスタンスを起動。
-
ソフトウェアのバージョンと地域が正しいことを確認して、をクリックします
。 -
の必須フィールドに入力してください インスタンスを起動します。 ページ:
名前とタグ セクション:
-
[名前]: インスタンスの名前。
インスタンスタイプ セクション:
-
インスタンスタイプ: サポートされているタイプは以下のとおりです。
mac2.metal
、mac2-m2.metal
、mac2-m2pro.metal
。専用ホストタイプ
選択したインスタンスタイプは、専用ホストのタイプと一致する必要があります。
キーペア (ログイン) セクション:
-
キーペア名- 必須:
ネットワーク設定 セクション-クリック 設定を変更するには:
-
: ドロップダウンメニューから仮想プライベートクラウドを選択します。
-
: ドロップダウンメニューから希望するサブネットを選択するか、オンのままにします 。
-
ファイアウォール (セキュリティグループ): 新しいセキュリティグループを作成するか、既存のセキュリティグループを選択します。
ストレージの設定 セクション:
-
ストレージボリュームのサイズをギガバイト単位で設定します。
ベアメタル macOS AMI の場合、最小数は 400 GB ですが、450 GB 以上を推奨します。
仮想化された macOS AMI の場合、このサイズは 2 TB です。
ディスクサイズを増やす
ディスクサイズをデフォルトの 400 GB から増やす必要がある場合は、割り当てられたすべてのストレージを macOS が使用できるようにディスクを再パーティション化します。そのためには、インスタンスをセットアップするときに、にスクリプトを追加してください ユーザーデータ に 詳細情報 セクション: Mac インスタンスでのディスク サイズの増加。
-
ドロップダウンメニューからルートボリュームタイプを選択します。
ストレージタイプ
少なくとも次のものを使用することをお勧めします gp3 ルートボリューム。IOPS が高いほど良い。
高度な詳細 セクション:
-
: を選択します。 ドロップダウンメニューのオプション。
-
: を選択します。 ドロップダウンメニューのオプション。
-
: 以前に作成した専用ホストのホスト ID を選択します。
-
-
ランナープールの設定 そして、認証に必要なトークンをコピーします。
-
EC2 ダッシュボードに移動します。
-
AWS マーケットプレイスのページに移動し、左側で以下を選択します サブスクリプションを管理。
-
必要な AMI を選択し、以下を選択してください 新しいインスタンスを起動。
-
ソフトウェアのバージョンと地域が正しいことを確認して、をクリックします
。 -
の必須フィールドに入力してください インスタンスを起動します。 ページ:
名前とタグ セクション:
-
[名前]: インスタンスの名前。
インスタンスタイプ セクション:
-
インスタンスタイプ: x86_64 Linux メタルインスタンスを選択します。
キーペア (ログイン) セクション:
-
キーペア名- 必須:
ネットワーク設定 セクション-クリック 設定を変更するには:
-
: ドロップダウンメニューから仮想プライベートクラウドを選択します。
-
: ドロップダウンメニューから希望するサブネットを選択するか、オンのままにします 。サブネットは、NAT ゲートウェイまたはインターネットゲートウェイのいずれかを介してインターネットにアクセスできる必要があります
-
ファイアウォール (セキュリティグループ): 新しいセキュリティグループを作成するか、既存のセキュリティグループを選択します。
ストレージの設定 セクション:
-
ストレージボリュームのサイズをギガバイト単位で設定します。最小値は 450 GB です
-
ドロップダウンメニューからルートボリュームタイプを選択します。
-
インスタンスをBitriseワークスペースに接続する
Mac ベアメタルインスタンス
Mac 仮想化インスタンス
Linux インスタンス
-
インスタンスが次のエンドポイントにアクセスできることを確認してください。
-
https://den.services.bitrise.io
-
https://build-log.services.bitrise.io
-
-
インスタンスのユーザーデータを変更する: AWS シークレットマネージャーで作成したシークレットを使用して Bitrise ランナーを起動するコマンドを追加します。
重要
macOS インスタンスのユーザーデータスクリプトを変更するときは、スクリプトの開始前に空きスペースがないことを確認してください。最初の行は常に
#!/bin/bash
。この行の前に空白があると、インスタンスは動作しません。TOKEN=$(aws --region ${Region} secretsmanager get-secret-value --secret-id MY_SECRET | jq -r '.SecretString') sudo sed -i '' “s/BITRISE_AGENT_TOKEN/$TOKEN/” /Users/ec2-user/Library/LaunchDaemons/io.bitrise.self-hosted-agent.plist sudo launchctl load -w /Users/ec2-user/Library/LaunchDaemons/io.bitrise.self-hosted-agent.plist
-
シェルスクリプトやその他のカスタムデータを設定することもできます ユーザーデータ セクション。
の中に EC2 インスタンスの詳細オプション セクションでは、ユーザーデータを使用してインスタンスを最適化するための推奨事項を確認できます。
-
インスタンスが次のエンドポイントにアクセスできることを確認してください。
-
https://den.services.bitrise.io
-
https://build-log.services.bitrise.io
-
-
インスタンスのユーザーデータを変更する: AWS シークレットマネージャーで作成したシークレットを使用して Bitrise ランナーを起動するコマンドを追加します。また、同時実行数と実行したいスタックを指定する必要があります
重要
macOS インスタンスのユーザーデータスクリプトを変更するときは、スクリプトの開始前に空きスペースがないことを確認してください。最初の行は常に
#!/bin/bash
。この行の前に空白があると、インスタンスは動作しません。次のコマンドで利用可能なスタックのリストを取得できます。
/opt/virtualization-cli/bin/virtualization-cli list
同時実行プリファレンスの許容値は 1 または 2 です。
-
1 CC の場合、ランナーは 8 個の仮想 CPU と 12 GB の RAM を搭載した 1 台の仮想マシンをスケジュールします。
-
2 CC の場合、ランナーはそれぞれ 4 つの vCPU と 6 GB の RAM を搭載した 2 台の仮想マシンをスケジュールします。
TOKEN=$(aws secretsmanager get-secret-value --secret-id MY_SECRET | jq -r '.SecretString') sudo sed -i '' 's/BITRISE_AGENT_CC/<YOUR_CONCURRENCY_PREFERENCE>/' /Users/ec2-user/Library/LaunchDaemons/io.bitrise.self-hosted-agent.plist sudo sed -i '' 's/BITRISE_AGENT_STACK/<YOUR_DESIRED_STACK>/' /Users/ec2-user/Library/LaunchDaemons/io.bitrise.self-hosted-agent.plist sudo sed -i '' “s/BITRISE_AGENT_TOKEN/$TOKEN/” /Users/ec2-user/Library/LaunchDaemons/io.bitrise.self-hosted-agent.plist sudo launchctl load -w /Users/ec2-user/Library/LaunchDaemons/io.bitrise.self-hosted-agent.plist
-
-
シェルスクリプトやその他のカスタムデータを設定することもできます ユーザーデータ セクション。
の中に EC2 インスタンスの詳細オプション セクションでは、ユーザーデータを使用してインスタンスを最適化するための推奨事項を確認できます。
-
インスタンスが次のエンドポイントにアクセスできることを確認してください。
-
https://den.services.bitrise.io
-
https://build-log.services.bitrise.io
-
-
インスタンスのユーザーデータを変更する: AWS シークレットマネージャーで作成したシークレットを使用して Bitrise ランナーを起動するコマンドを追加します。
TOKEN=$(aws secretsmanager get-secret-value --secret-id MY_SECRET | jq -r '.SecretString') sudo sed -i “s/BITRISE_AGENT_TOKEN/$TOKEN/” /etc/systemd/system/bitrise-den-agent.service sudo systemctl start bitrise-den-agent.service
-
シェルスクリプトやその他のカスタムデータを設定することもできます ユーザーデータ セクション。
の中に EC2 インスタンスの詳細オプション セクションでは、ユーザーデータを使用してインスタンスを最適化するための推奨事項を確認できます。