Oakmini 雲端 Mac · Quickstart

從選購到首次建置,跑通你的雲端 Mac 工作流程

這份入門指南適合第一次使用 Oakmini 的開發者與 CI/CD 工程師。你將選擇一台獨享 Mac mini 實體節點,透過 SSH 或 VNC 連線,還原 Apple Silicon 工具鏈,完成一次可重現建置,並將 self-hosted runner 接入現有流程。

01 選擇配置 機型、週期、節點、儲存空間
02 連線節點 SSH 或 VNC
03 驗證工作流程 建置、產物、runner
雲端 Mac 開發工作台情境
oakmini-bootstrap connected
$ uname -m
arm64
$ sw_vers -productVersion
macOS ready
$ system_profiler SPHardwareDataType
Chip: Apple M4
$ xcodebuild -version
Xcode toolchain detected
$ git --version
git ready
✓ 已記錄環境基線
準備階段

開始前先確認六項輸入條件

先釐清相容性、區域、週期與權限,可避免連線後才發現依賴架構不符、磁碟空間不足或流程缺少儲存庫權限。建議將以下結果保存在專案的遷移紀錄中。

預計 10–20 分鐘

Apple Silicon 相容性

確認依賴是否提供 arm64 版本,重點檢查二進位工具、容器映像、原生擴充功能與舊版腳本。若專案來自 Intel 環境,請先列出必須替換或重新編譯的元件。

file ./your-binary確認目標架構

目標節點區域

可在新加坡、日本(東京)、韓國(首爾)、香港、美國西部中選擇。互動式 VNC 優先選靠近主要操作者的區域;無人值守建置則優先考量程式碼來源、產物儲存與協作團隊的位置。

ping / traceroute從實際辦公網路測量

使用週期與工作時段

按日適合短期驗證,按週適合遷移衝刺,按月或按季適合持續開發與常駐 runner。先估算準備、建置、驗收與產物匯出的完整時間,不要只計算單次工作耗時。

day / week / month / quarter訂單週期不可混用

儲存容量

分別估算儲存庫、依賴快取、模擬器資料、封存檔與匯出產物的容量。建置目錄應保留餘裕,避免依賴解析或封存階段因磁碟空間耗盡而中斷。長期工作還需定義快取清理策略。

df -h連線後再次核對

遠端連線工具

命令列工作需準備 SSH 用戶端與金鑰;需要 macOS 圖形介面時則準備 VNC 用戶端。確認本地網路允許對應連線,並記錄公司防火牆、Proxy 或 VPN 對連線路徑的影響。

ssh -V先驗證本地用戶端

帳戶與專案權限

確認程式碼儲存庫讀取、依賴來源存取、CI runner 註冊、建置簽章材料與產物上傳所需的權限。優先使用工作專用憑證,並為自動化流程設定最小必要權限。

read / build / upload逐項標註權限範圍
開始前輸出一份基線紀錄:專案架構要求、目標節點、預計週期、磁碟預算、連線方式、所需權限與驗收負責人。後續每一步都以這份紀錄為對照。
第一步 · 選購

依工作負載選擇機型,再決定週期與節點

Oak Core 與 Oak Forge 都是獨享 Mac mini 實體節點,並非虛擬機。選擇時請考量記憶體峰值、並行建置數量、工作集大小與產物容量,不要依據模糊的效能倍數判斷。

前往入口網站選擇配置
Oak Core
m4-16-256
個人開發與輕量建置
晶片M4
記憶體16GB
儲存空間256GB SSD

適合單一專案除錯、依賴驗證、低並行自動化工作與短期遷移檢查。若儲存庫、模擬器與封存檔佔用較大,請在下單時增加儲存空間。

$19.5/天$52.5/週$97.3/月$264.7/季
下單欄位 可選內容 選擇依據 確認結果
計費週期 日、週、月、季 涵蓋環境準備、工作執行、驗收與產物匯出 訂單顯示的起訖範圍符合計畫
節點 新加坡、日本(東京)、韓國(首爾)、香港、美國西部 互動使用者、程式碼來源與產物目標之間的實際網路路徑 區域名稱與基線紀錄一致
儲存空間擴充 +1TB SSD 或 +2TB SSD 儲存庫、依賴快取、工作目錄、封存檔與匯出產物總量 預留清理與暫存檔空間
並聯選項 Thunderbolt 5 並聯(每台) 僅在已規劃的多節點工作流程中選擇 逐台核對數量與拓撲
結算說明:僅支援 USDT-TRC20 與 Visa / Mastercard / Amex(透過 Stripe),所有訂單統一以 USD 結算。實際可用的支付閘道以入口網站回傳為準。
第二步 · 連線

先確認主機狀態,再建立 SSH 或 VNC 工作階段

從入口網站讀取目前主機狀態、位址、連接埠與憑證說明。不要根據舊訂單或本地歷史紀錄猜測參數。命令列工作使用 SSH,需要圖形介面時使用 VNC。

SSH 基線 first-session.sh
ssh -p <PORT> <USER>@<HOST>

hostname
sw_vers
uname -m
system_profiler SPHardwareDataType
df -h
systemsetup -gettimezone
date

將輸出儲存至遷移紀錄。預期至少能確認主機名稱、macOS 版本、arm64 架構、晶片型號、磁碟容量、時區與目前時間。

  1. 01

    核對入口網站狀態

    主機應處於可連線狀態。若狀態仍在變更,請先等待入口網站更新,不要連續重試憑證。

  2. 02

    複製連線參數

    逐項核對主機位址、連接埠、使用者名稱與連線方式。金鑰檔案只能儲存在受控裝置中。

  3. 03

    驗證主機指紋

    首次 SSH 連線時記錄指紋;之後若指紋異常變更,請先停止連線,再透過主控台工單核對。

  4. 04

    建立圖形工作階段

    使用 VNC 時,先以適合目前網路的解析度與畫質連線,再檢查鍵盤配置、剪貼簿策略與睡眠設定。

身分hostname與訂單對應
系統sw_vers記錄完整版本
硬體arm64 / M4核對所選配置
資源df -h確認可用空間
第三步 · 環境

依固定順序還原工具鏈,並產生版本清單

先建立可複查的基礎環境,再安裝專案依賴。不要直接複製舊機器的整個使用者目錄;優先遷移清單、設定與鎖定檔,以減少架構差異與無效快取。

L1

Homebrew 與命令列基礎

還原軟體清單後執行診斷,檢查安裝前綴與 shell 環境。Apple Silicon 常用路徑應與腳本中的硬編碼路徑一致,或完成替換。

brew bundle check && brew doctor
L2

Git 與儲存庫設定

設定提交身分、換行策略與憑證讀取方式。先拉取一個唯讀測試儲存庫,確認網路與權限,再處理正式專案。

git config --list --show-origin
L3

語言執行環境

根據鎖定檔還原 Ruby、Node.js、Python 或其他執行環境版本。記錄版本管理器、全域工具與專案層級版本,不要依賴「最新版本」這類描述。

ruby -v; node -v; python3 --version
L4

Xcode 工具鏈

確認目前選取的開發者目錄、Xcode 版本、SDK 與命令列工具。多個專案需要不同版本時,請在流程中明確記錄切換步驟。

xcode-select -p; xcodebuild -version
L5

專案依賴

使用儲存庫中的鎖定檔還原依賴,保留完整解析記錄。若依賴需要編譯原生擴充功能,請確認輸出架構為 arm64

file ./path/to/native-extension
環境清單 environment-baseline.txt
date
hostname
sw_vers
uname -m
xcode-select -p
xcodebuild -version
git --version
brew --version
brew list --versions
ruby -v
node -v
python3 --version
df -h

清單應與專案一同維護

  • 記錄指令輸出,而不只是記錄「安裝完成」。
  • 保留依賴鎖定檔與套件管理器清單。
  • 標註需要手動設定的路徑與權限。
  • 為 Xcode 版本切換寫出明確指令。
  • 避免將金鑰、權杖與簽章材料寫入清單。
首次建置

先執行最小測試專案,再執行實際流程

首次建置的目標不是追求最短耗時,而是確認依賴解析、簽章權限、輸出目錄與記錄都可重現。先以固定提交版本測試,成功後再擴大至完整專案。

01

固定輸入

拉取指定提交或標籤,確認子模組、私有依賴與大型檔案物件完整。記錄儲存庫提交雜湊,避免測試期間輸入發生變化。

git rev-parse HEAD
02

解析依賴

使用鎖定檔還原依賴,並將標準輸出與錯誤輸出寫入記錄。遇到架構問題時先定位具體二進位檔,不要反覆清空整個環境。

command 2>&1 | tee dependency.log
03

核對簽章權限

確認建置程序能讀取工作所需的簽章材料與設定檔。自動化帳戶只授予對應專案與建置步驟所需的權限。

security find-identity -v -p codesigning
04

指定輸出目錄

將 DerivedData、封存檔、測試結果與匯出產物放入明確目錄,避免與其他工作共用不受控的暫存路徑。

mkdir -p build logs artifacts
05

保留完整記錄

記錄至少應包含提交版本、Xcode 版本、SDK、指令、開始時間、結束時間與結束代碼。敏感欄位在上傳前完成去識別化。

echo "$?" > logs/exit-code.txt
06

重複執行一次

在相同提交與設定下再次執行,確認依賴、路徑與權限不會依賴首次工作階段中的暫時操作。兩次結果都應可解釋、可比較。

./scripts/verify-build.sh
xcodebuild \
  -project Example.xcodeproj \
  -scheme Example \
  -configuration Release \
  -derivedDataPath ./build/DerivedData \
  build 2>&1 | tee ./logs/first-build.log
成功標準

指令結束代碼為 0;記錄可定位至固定提交與工具鏈版本;輸出目錄中存在預期產物;再次執行不依賴未記錄的手動操作。

遷移路線圖

將遷移拆分為資料、工具鏈與 CI 三條路徑

三條路徑可以並行準備,但必須依共同基線匯合:固定儲存庫版本、記錄工具鏈版本、定義 runner 標籤,然後觸發一項可重現的驗證工作。

DATA

資料欄

只遷移可解釋的資料,不搬運無法追溯的歷史狀態。

  1. 儲存庫複製固定提交,核對子模組與大型檔案物件。
  2. 快取依套件管理器與專案版本分目錄,過期快取不遷移。
  3. 工作目錄區分原始碼、暫存檔、記錄與最終產物。
  4. 驗證點git status / checksum / df -h
TOOL

工具鏈欄

從清單還原工具,以版本輸出確認結果。

  1. Homebrew還原軟體清單並執行診斷。
  2. 執行環境依專案檔案安裝 Ruby、Node.js、Python 等版本。
  3. Xcode核對選取路徑、版本、SDK 與建置方案。
  4. 驗證點brew doctor / xcodebuild -version
CI

CI 接入欄

讓調度規則明確套用至這台獨享實體機。

  1. 註冊 runner使用工作專用註冊憑證並記錄服務帳戶。
  2. 設定標籤使用區域、架構、工具鏈與工作負載類型標籤。
  3. 觸發驗證執行最小建置並上傳已去識別化的記錄與測試產物。
  4. 驗證點online / matched / exit 0
MERGE GATE 三條路徑的匯合條件
  • 儲存庫提交版本已固定
  • 環境清單已儲存
  • runner 標籤可匹配工作
  • 驗證工作結束代碼為 0
  • 記錄與產物可從指定目錄匯出
安全收尾

接入正式儲存庫前收緊憑證與權限

環境能夠執行並不代表已適合長期使用。完成首次建置後,應立即處理初始憑證、金鑰保存、儲存庫範圍與腳本中的敏感資訊。

最小權限基線

  • 更換初始憑證,並確認舊憑證不再用於連線。
  • 個人維護、自動化建置與產物上傳應使用不同憑證。
  • 私鑰只能存放在受控裝置或受控金鑰儲存空間,並設定嚴格的檔案權限。
  • 將儲存庫存取範圍限制在實際專案,不授予無關組織或儲存庫權限。
  • 簽章材料只向需要執行簽章的程序與帳戶開放。
  • 腳本、環境清單、記錄與建置產物中不得寫入密碼、私鑰或支付憑證。
腳本檢查

提交前搜尋常見敏感欄位,檢查 shell 歷史記錄、環境檔案、CI 設定與記錄。發現明文憑證時,應先撤銷並替換,再清理檔案歷史。

SSH 權限

限制私鑰檔案權限,刪除不再使用的公開金鑰,並為自動化連線設定可識別的金鑰名稱與用途紀錄。

chmod 600 ~/.ssh/private_key
記錄去識別化

保留時間、指令、版本、結束代碼與錯誤堆疊;刪除存取權杖、私鑰內容、簽章材料原文及其他可直接用於授權的資訊。

驗收清單

用七項結果判斷是否可以投入日常工作

驗收應以可重現結果為依據,而不是「目前工作階段可用」。建議中斷工作階段後重新連線,並從乾淨 shell 再次執行關鍵指令。

7 項全部通過
  1. 01

    遠端重新連線

    主動中斷 SSH 與 VNC,再使用已儲存的正確參數連線。主機指紋、使用者名稱、連接埠與圖形工作階段均符合紀錄。

    可重現
  2. 02

    安裝依賴

    從鎖定檔還原依賴,指令結束代碼為 0;原生元件架構正確;安裝記錄已儲存且不含敏感資訊。

    可追溯
  3. 03

    專案建置

    在固定提交與工具鏈版本下完成建置,輸出目錄明確,第二次執行不依賴未記錄的手動操作。

    結束代碼 0
  4. 04

    匯出產物

    封存檔、測試結果或其他目標產物可從指定目錄匯出,檔案名稱、版本與核對方式符合團隊約定。

    可交付
  5. 05

    Runner 上線

    self-hosted runner 狀態為上線,標籤可匹配目標工作,且不會接收未授權專案的工作。

    標籤匹配
  6. 06

    保存記錄

    環境基線、依賴記錄、建置記錄、結束代碼與產物路徑均已封存,敏感欄位已完成去識別化。

    可定位
  7. 07

    入口網站管理

    可在入口網站核對主機狀態、訂單資訊與管理入口。所有節點全年 365 天正常運作,持續提供服務。

    可管理
Start with a reproducible baseline

選擇獨享 Mac mini,開始你的首次建置

進入入口網站查看目前可用節點,選擇 Oak Core 或 Oak Forge、計費週期與儲存空間選項。下單後依本頁步驟完成連線、工具鏈還原與驗收。