Arm Line M4
M4 / 16GB / 256GB
初回のXcodeビルド、単一のCIビルドジョブ、一時的なiOSアプリのビルドに適しています。実際のプロジェクトで依存関係のインストール、キャッシュ容量、ビルド手順を確認してください。
1日$21.2
Arm Line M4をレンタル専有のApple Silicon物理ノードをレンタルし、接続、ツールチェーン、ビルドを順番に確認しましょう。まず1つのプロジェクトで動作を確かめてから、チームのCIに接続します。
2つのモデル、5つのノード、1日$21.2から。物理マシンをまるごと専有できます。提供状況と実際の利用可否は、コンソールの最新情報をご確認ください。
通常のコンパイルや初回検証にはArm Line M4がおすすめです。モデル推論や大容量のユニファイドメモリが必要な場合はArm Grid M4 Proをお選びください。メモリの必要量はプロジェクトのフォルダサイズだけでなく、並列タスクやツールチェーンの使用量も考慮して判断しましょう。
M4 / 16GB / 256GB
初回のXcodeビルド、単一のCIビルドジョブ、一時的なiOSアプリのビルドに適しています。実際のプロジェクトで依存関係のインストール、キャッシュ容量、ビルド手順を確認してください。
1日$21.2
Arm Line M4をレンタルM4 Pro / 64GB / 2TB
モデル推論、大容量のビルドキャッシュ、メモリを多く使うワークフローに適しています。特定のモデルが動作するかどうかは、量子化方式、コンテキスト長、実行パラメーターを含めてご確認ください。
1日$59.8
Arm Grid M4 Proをレンタルシンガポール、日本(東京)、韓国(ソウル)、香港、米国東部。画面を操作する場合は、チームの所在地からノードまでのネットワーク経路を考慮しましょう。無人ビルドでは、コードの取得、依存関係のダウンロード、成果物の転送も確認が必要です。地理的な距離は目安であり、実測レイテンシーを示すものではありません。
初めてのレンタルでは、まず日単位で契約し、同じプロジェクトで一連の手順を実行してから、長期契約を検討しましょう。4種類の契約期間と追加オプションの料金は、プランページをご覧ください。
お支払いはUSDT-TRC20、Visa / Mastercard / Amex(Stripe経由)のみ対応しています。すべて米ドル(USD)で決済されます。実際に利用できる決済ゲートウェイは、バックエンドからの応答をご確認ください。
モデル、契約期間、ノード、追加オプションを確認してください。USDTで支払う場合はTRC20ネットワークを選択し、決済画面に表示された送金先情報と金額を一つずつ確認します。以前の注文の支払い情報は使用しないでください。
オンチェーン決済には確認時間が必要で、着金速度はネットワークの状況によって異なります。カード決済は決済結果と注文状況をご確認ください。画面がすぐに更新されなくても再度支払わないでください。また、決済完了はノードの提供完了を意味するものではありません。
コンソールで提供状況を確認します。ノードが利用可能になったら、IPアドレス、ログインユーザー名、初期パスワード、接続ポートを確認してください。支払い証明と注文状況が一致しない場合は、注文番号と取引ハッシュまたは支払い証明を添えてサポートチケットを送信してください。
以下のコマンドはお使いのローカルターミナルで実行します。コンソールに表示されたアドレス、ポート、ユーザー名を入力してください。ドキュメント内の例を接続情報として使わないでください。
read -r -p "Node IP: " NODE_IP
read -r -p "SSH port: " SSH_PORT
read -r -p "Login user: " NODE_USER
ssh -p "$SSH_PORT" "$NODE_USER@$NODE_IP"
初回接続時にホストフィンガープリントが表示されます。信頼できる方法で照合してから接続を承認してください。保存済みのフィンガープリントが変わった場合は、ノードの再インストールや交換が行われたか確認し、検証を省略しないでください。
whoami
hostname
passwd
passwd クラウドMacのSSHセッションで実行します。画面の指示に従って現在のパスワードと新しいパスワードを入力してください。入力中の文字は表示されません。他のサービスと同じパスワードを使ったり、ビルドログに記録したりしないでください。
| 項目 | 入力する内容 | 確認方法 |
|---|---|---|
| サーバーアドレス | コンソールに表示されたノードのIPアドレス | 現在の注文に対応するものを入力してください。ローカルPCのアドレスではありません。 |
| ポート | コンソールに表示されたVNCポート | クライアントにポート専用の入力欄がある場合は、別々に入力してください。ポート番号を推測しないでください。 |
| 認証情報 | コンソールに表示されたGUI接続用の認証情報 | VNCパスワードとSSHパスワードが常に同じとは限りません。 |
| 初期画面設定 | 低めの解像度から始める | まず画面表示と入力が正常に動作することを確認し、ネットワーク帯域に応じて画質を上げてください。 |
macOSでは、システム標準の画面共有も利用できます。ログインパスワードを変更した後、提供時の案内に従ってGUI接続の認証情報も更新が必要か確認してください。VNCサービスを信頼できないネットワークに直接公開しないでください。
以下のコマンドはクラウドMac上で実行します。まずシステムとインストール済みツールを確認し、不足しているコンポーネントをインストールしてください。例をそのまま実行するために、チームでバージョンを固定しているXcode、Ruby、依存関係を変更しないでください。
sw_vers
uname -m
df -h /
ls /Applications
xcode-select -p
xcodebuild -version
xcode-select 単体のコマンドラインツールを指している場合、Xcode本体が利用可能とは判断できません。Xcode本体が未インストールの場合は、チームのライセンス範囲内のインストーラーを用意して解凍し、 /Applicationsに配置してください。ディスク容量には、解凍、依存関係、アーカイブ成果物の分も必要です。
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license
sudo xcodebuild -runFirstLaunch
xcodebuild -version
xcodebuild -showsdks
上記の例では、アプリ名を Xcode.appとしています。複数のバージョンをインストールしている場合は、実際のパスに変更してください。ライセンスに同意する前に規約を確認しましょう。他のタスクのツールチェーンを変更したくない場合は、単一のビルドに限り DEVELOPER_DIR を設定して、使用するバージョンを指定できます。
command -v brew
brew --version
ruby --version
bundle --version
Homebrewが未インストールの場合は、チームで承認された手順を使ってください。出所が不明なリモートインストールスクリプトを貼り付けて実行しないでください。Apple Siliconで一般的なインストール先は /opt/homebrewですが、実際の出力を確認してください。インストール済みなのに現在のセッションから見つからない場合は、環境を読み込みます。
eval "$(/opt/homebrew/bin/brew shellenv)"
brew install ruby
export PATH="$(brew --prefix ruby)/bin:$PATH"
gem install bundler
bundle install
bundle exec fastlane --version
後半の4つのコマンドはプロジェクトのディレクトリで実行します。リポジトリにFastlaneの依存バージョンを固定する Gemfile とロックファイルがあることを前提としています。これらのファイルがない場合は、先にチームで依存バージョンを決め、ロックファイルをコミットしてからインストールしてください。管理者権限でシステムのRubyにビルド依存関係をまとめてインストールしないでください。
read -r -p "Workspace path: " WORKSPACE
read -r -p "Shared scheme: " SCHEME
xcodebuild -list -workspace "$WORKSPACE"
xcodebuild \
-workspace "$WORKSPACE" \
-scheme "$SCHEME" \
-destination 'generic/platform=iOS' \
-archivePath "$HOME/BuildArtifacts/FirstBuild.xcarchive" \
CODE_SIGNING_ALLOWED=NO \
archive
まずプロジェクトのディレクトリに移動して、プロジェクトで指定された依存関係をインストールし、schemeが共有されていることを確認します。 .xcodeproj のみを使用するプロジェクトでは、 -project に置き換えて -workspaceを指定してください。このコマンドはコンパイルとアーカイブの流れを検証するためのものです。配布可能な署名済みパッケージは生成されず、署名を必要とするすべてのビルドスクリプトの実行を保証するものでもありません。
GitHub ActionsとGitLab Runnerから、利用するコードプラットフォームに合ったものを選びます。まず信頼できるブランチでジョブを実行し、サービスユーザー、環境変数、キーチェーンへのアクセスを確認してから、本番のパイプラインに切り替えてください。
リポジトリまたは組織のランナー設定でmacOSとARM64を選択し、プラットフォームの最新の手順に従ってパッケージをダウンロード、検証し、専用ディレクトリに解凍します。以下のコマンドは解凍先で実行してください。登録URLと有効期間の短いトークンは、現在の設定ページから取得します。
read -r -p "Repository or organization URL: " RUNNER_URL
read -r -s -p "Registration token: " RUNNER_TOKEN
printf '\n'
./config.sh \
--url "$RUNNER_URL" \
--token "$RUNNER_TOKEN" \
--labels armvnc,macos,arm64
unset RUNNER_TOKEN
./svc.sh install
./svc.sh start
./svc.sh status
ワークフローでは runs-on: [self-hosted, macOS, ARM64, armvnc]を指定し、プラットフォームに表示された実際のラベルを確認してください。ユーザーサービスの起動はログインセッションに関係します。インストール後、再ログインや再起動後に復旧することを確認し、登録に成功したからといって、どの状態でもジョブが実行されるとは考えないでください。
まずプロジェクトまたはグループの設定でランナーを作成し、認証トークンを取得します。Homebrewを設定済みの場合は、ランナーをインストールして対話形式の指示に従って登録できます。サービスは現在のユーザーで実行し、ビルドファイルと認証情報もそのユーザーが管理するようにしてください。
brew install gitlab-runner
read -r -p "CI server URL: " CI_SERVER_URL
read -r -s -p "Runner authentication token: " RUNNER_TOKEN
printf '\n'
gitlab-runner register \
--url "$CI_SERVER_URL" \
--token "$RUNNER_TOKEN" \
--executor shell \
--description "ArmVNC macOS ARM64"
unset RUNNER_TOKEN
gitlab-runner install
gitlab-runner start
gitlab-runner status
gitlab-runner verify
プラットフォームの設定でラベルと保護ブランチのルールを設定し、パイプラインのtagsをランナーのラベルと一致させてください。ユーザーサービスは通常ログインセッションに依存します。現在のRunnerのバージョンに対応する説明に従ってLaunchAgentと起動動作を確認し、別のサービス管理方法で同じインスタンスを重複起動しないでください。
whoami、xcode-select -p 、 xcodebuild -versionを確認し、ジョブが別の環境で実行されていないことを確かめます。ノードは年間365日稼働しますが、CIプロセスの管理はお客様自身で行います。ログアウト、システム更新、再起動の後は、ランナーサービス、ネットワーク、署名環境が復旧していることを確認してください。契約終了前にプラットフォームからランナー登録を解除し、認証情報を失効させ、成果物を転送してください。
用語の重要性を判断するときは、リソースの所有、接続方法、タスクの実行、複数台での連携のどの操作に影響するかを確認しましょう。
検証済みのXcodeバージョン、依存関係のロックファイル、ビルドコマンドをリポジトリに記録してください。問題が発生したら、接続、ツールチェーン、プロジェクトのどの層で起きているかを切り分け、再現に必要な最小限の情報を添えて相談しましょう。
まずは日単位で契約し、接続、依存関係、アーカイブを確認しましょう。お支払いはUSDT-TRC20、Visa / Mastercard / Amex(Stripe経由)のみ対応。USDで決済されます。