新加坡
團隊成員主要位於東南亞時,可優先評估此節點。請一併測試常用遠端連線網路與相依套件下載。
協作時區:UTC+8
註冊、設定、付款與主機分配各預留約 1 分鐘,順利的話約 4 分鐘即可完成啟用。這是操作時間預估,不代表固定交付時限;郵件收取、付款確認與系統分配進度,請以控制台顯示為準。
準備可接收驗證碼的團隊信箱,依頁面指示完成註冊並設定密碼。請使用有人持續管理的信箱,方便查詢訂單、續約及追蹤支援案件;勿將驗證碼轉寄到公開的建置記錄。
選擇 Push M4 S 或 Push M4 L,再選擇計費週期與節點。單一 App 的日常 CI 可先考慮 16GB 方案;多個 target 平行執行 archive,則可考慮 24GB 方案。實際供應狀況以控制台即時資訊為準。
選擇 USDT-TRC20,或使用 Visa / Mastercard / Amex 透過 Stripe 付款。可用的付款方式以結帳頁顯示為準;鏈上轉帳請確認網路、地址與金額,並等待控制台確認。付款已送出不代表服務已啟用。
系統分配主機後,請在訂單或執行個體詳情確認節點、連線位址、連接埠與登入帳號,並取得 SSH/VNC 連線資訊。後續提交支援案件時提供訂單編號即可,無須提供登入密碼或私鑰。
5 個節點都提供兩種主機方案。先依日常操作建置主機的團隊成員所在地縮小選擇,再檢查程式碼儲存庫、套件來源與產物儲存空間之間的傳輸路徑。時區方便協作交接,不代表網路延遲較低;VNC 操作和下載相依套件應分別測試。
團隊成員主要位於東南亞時,可優先評估此節點。請一併測試常用遠端連線網路與相依套件下載。
協作時區:UTC+8
團隊主要配合日本工作日時,可優先評估此節點。請固定 runner 標籤,避免工作被派送到其他節點。
協作時區:UTC+9
韓國團隊成員經常操作桌面時,可優先評估此節點。請使用實際辦公網路測試圖形介面的反應速度。
協作時區:UTC+9
適合評估華南與東南亞之間的協作路徑。遠端桌面與 SSH 分開使用,記錄則保留在建置系統中。
協作時區:UTC+8
北美團隊需要在白天操作時,可優先評估此節點。跨區交接時,請統一使用 UTC 記錄工作時間。
協作時區:UTC−5 / UTC−4
美國東岸有夏令時間。若兩地團隊都需要頻繁操作,可分別租用鄰近節點,再透過 CI 佇列協調工作;同一台主機仍須限制多項重型工作的並行數量。
連線位址、連接埠與使用者名稱請以控制台資訊為準,勿沿用其他訂單的連線資料。下方指令會提示輸入實際值;執行前請確認本機已安裝 SSH 用戶端。
在本機終端機執行。首次連線時請核對主機指紋;若控制台未提供可供核驗的資訊,請先透過支援案件確認,勿直接略過主機身分驗證。
printf '連線位址:'
read -r MAC_HOST
printf 'SSH 連接埠:'
read -r MAC_PORT
printf '登入使用者:'
read -r MAC_USER
ssh -p "$MAC_PORT" "$MAC_USER@$MAC_HOST"
登入後執行 whoami 和 sw_vers,確認使用者與系統資訊。之後設定 SSH 金鑰時,只上傳公開金鑰;私密金鑰請保留在你的裝置或 CI 金鑰管理系統中。
桌面適合處理圖形介面的授權操作,命令列則用於執行可重現的指令碼。若連線逾時,請先確認連接埠、執行個體狀態與本機網路,再提交支援案件;反覆更改密碼無法排除網路問題。
首次建置分為工具鏈、專案、簽章與匯出四項檢查。以下指令範例適用於使用 workspace 的 iOS 專案;若使用純 project,請將 -workspace 改成 -project,並填入專案自己的檔名。
先確認系統目前選用的 Xcode,而不是只查看應用程式目錄中安裝了哪些版本。若同時安裝多個版本,請切換至專案指定的應用程式路徑,並再次確認版本與 SDK。
xcode-select -p
xcodebuild -version
xcodebuild -showsdks
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
輸入具有讀取權限的程式碼儲存庫位址,使用 SSH 金鑰或安全的憑證管理方式驗證身分,勿將存取權杖直接寫進指令。先依專案規範準備相依套件,再列出 workspace 與 scheme。
printf '程式碼儲存庫位址:'
read -r REPOSITORY_URL
git clone "$REPOSITORY_URL" app
cd app
git rev-parse HEAD
find . -name '*.xcworkspace' -prune
xcodebuild -list -workspace MyApp.xcworkspace
將 MyApp.xcworkspace 和 MyApp 替換成前一步確認的實際名稱。若建置需要裝置簽章,請先安全匯入相符的憑證與描述檔,並確認建置程序可存取鑰匙圈。
mkdir -p build
xcodebuild \
-workspace MyApp.xcworkspace \
-scheme MyApp \
-configuration Release \
-destination 'generic/platform=iOS' \
-derivedDataPath build/DerivedData \
-archivePath build/MyApp.xcarchive \
archive
ExportOptions.plist 應使用專案既定的簽章與發佈設定,不可直接套用其他團隊的設定。archive 建置成功不代表匯出也成功;請分別保留兩個階段的結束狀態與記錄。
xcodebuild -exportArchive \
-archivePath build/MyApp.xcarchive \
-exportPath build/export \
-exportOptionsPlist ExportOptions.plist
test -d build/MyApp.xcarchive
find build/export -maxdepth 1 -type f -print
記錄提交 SHA、Xcode 版本、實際使用的 scheme 與產物路徑。首次失敗時,先查看第一個錯誤:相依套件解析失敗就檢查網路與版本鎖定;簽章失敗就檢查憑證與描述檔;匯出失敗則檢查匯出設定。請勿在同一次重試中同時更換節點、工具鏈與簽章設定。
先使用同一個建置使用者手動成功執行,再註冊自架 runner。全年持續運作可確保主機供電與託管;runner 程序是否自動啟動、憑證是否有效,以及工作是否卡在佇列中,仍須由團隊設定與檢查。
前往使用中的 CI 平台專案或組織設定,取得 macOS ARM64 runner 安裝指令。註冊資訊請使用目前專案提供的資料,不要重用已失效的權杖;標籤應包含節點、架構與用途。
首次串接時,只啟動一項建置工作。觀察記憶體、磁碟空間與執行時間後,再決定並行數量;主機為獨享,不代表應同時啟動所有 archive 工作。
GitHub Actions runner 解壓縮並完成註冊後,可在安裝目錄使用隨附的服務指令碼。以下不是下載或註冊指令;請先依 CI 平台指示完成前一步。
./svc.sh install
./svc.sh start
./svc.sh status
確認服務指令碼顯示正在執行,且 CI 平台顯示 runner 在線。若使用 LaunchAgent,通常需要該使用者登入;若要在無人值守時啟動,請依 runner 官方支援方式設定並驗證。服務已安裝,不代表重新啟動後一定能執行建置。
關閉手動啟動 runner 的終端機,再從 CI 發起一項受控工作。確認執行使用者、選用的 Xcode、鑰匙圈存取、快取目錄與產物上傳。若節點預計無人值守,請再驗證系統恢復後 runner 的狀態;需要重新啟動時,先確認沒有其他工作正在執行。
獨享主機可保留 DerivedData 與相依套件快取。快取索引至少應區分工具鏈、相依套件鎖定檔與建置設定;保留產物前請設定清理規則,避免快取持續增加並占滿系統磁碟。