從下單到首次封存

將開發工作流程遷移至雲端 Mac

這不只是一份「如何登入」的說明。你將從兩種實體設備中選擇合適機型,選定四個亞太節點之一,接著完成憑證強化、工具鏈恢復、程式碼與簽署驗證、CI Runner 接入,並以可複核的記錄驗收首次任務。

2 種 固定硬體配置
4 個節點 新加坡、日本(東京)、韓國(首爾)、香港
4 種週期 可按日、週、月或季租用
設備執行清單 首次建置驗收路徑
準備就緒
SOURCE 本機 Mac
TARGET NUMACS 雲端 Mac
  1. 01
    建立安全連線 更換初始憑證、加入 SSH 公開金鑰,並驗證遠端桌面。
    已完成
  2. 02
    恢復專案工具鏈 鎖定 Xcode、Ruby、Node.js 與相依管理器版本。
    待執行
  3. 03
    執行測試與封存 保存耗時、日誌、產物校驗值與磁碟剩餘空間。
    待執行
執行清單的完成標準是「可重現、可回滾、可核對」,而不是工具安裝完成。

開始前準備

先決定遷移範圍,再建立訂單

準備階段的目標,是明確記錄設備配置、節點、存取方式與資料責任。缺少任何一項,後續的環境恢復都容易變成臨時試錯。

A

程式碼儲存庫權限

確認儲存庫使用 SSH 或短期存取權杖,列出私有相依套件、子模組與產物儲存庫。不要複製長期有效的個人私鑰;請為雲端 Mac 個別產生金鑰,並只授予專案所需的權限。

B

簽署資產管理

整理憑證、描述檔、Keychain 存取需求與封存匯出方式。只遷移測試所需的去識別化副本,記錄匯入順序與存取控制,避免將完整憑證寫入儲存庫或建置日誌。

C

節點與網路路徑

從新加坡、日本(東京)、韓國(首爾)與香港中選擇目標節點。先從實際辦公網路測試連線路徑;團隊跨地區協作時,應分別由主要操作者與 CI 來源網路進行驗證。

D

週期與退出計畫

短期驗證可按日或週執行,穩定專案可按月或季安排。無論選擇哪種週期,都應提前確定備份位置、產物匯出目錄,以及租用結束前負責遷出的成員。

下單與開通

四項選擇決定設備執行清單

訂單只需明確指定機型、節點、計費週期與附加選項。實際可用狀態以控制台即時回傳為準,目錄中的兩種機型均涵蓋四個在售節點。

01 / MODEL

選擇固定硬體

NUMACS M4 Core 搭載 M4、16GB RAM 與 256GB SSD,適合單一專案維護、日常除錯與輕量自動化。NUMACS M4 Plus 搭載 M4、24GB RAM 與 512GB SSD,更適合多任務建置、更大的相依快取與平行測試。

02 / REGION

選擇連線節點

可選新加坡、日本(東京)、韓國(首爾)與香港。優先選擇主要操作者網路路徑穩定、往返延遲較低的節點;接入 CI 前,再從 Runner 所在網路重新測試一次。

03 / PERIOD

選擇租用週期

支援按日、週、月、季租用。週期應涵蓋環境恢復、首輪建置、故障修正與產物匯出,不要只按「安裝需要多久」來估算。

04 / OPTIONS

確認儲存空間與並聯需求

大型素材庫、多個 Xcode 版本、模擬器執行環境與長期建置快取會迅速佔用空間。需要額外容量時,可在下單階段選擇 +1TB SSD、+2TB SSD 或 Thunderbolt 5 並聯。

首次安全登入

先強化入口,再恢復專案

收到設備資訊後,不要立即匯入程式碼與憑證。先完成憑證輪換、存取路徑驗證與管理員權限檢查,並記錄乾淨狀態。

  1. 01

    更改初始憑證

    首次進入 macOS 圖形介面後,立即設定獨立的強密碼。不要重複使用儲存庫、電子郵件或團隊共用系統的密碼,也不要將憑證寫入聊天記錄或自動化腳本。

  2. 02

    設定 SSH 公開金鑰

    在本機產生專用於該設備的金鑰對,將公開金鑰寫入授權清單。確認金鑰登入成功後,再關閉不需要的存取方式,並記錄金鑰輪換負責人。

  3. 03

    驗證遠端桌面

    檢查解析度、鍵盤配置、剪貼簿策略與閒置中斷行為。遠端桌面用於圖形工具,SSH 用於腳本與診斷;兩條路徑都應個別驗證。

  4. 04

    確認管理員權限

    執行一次受控的管理員指令,確認軟體安裝與系統設定權限正常。不要透過關閉系統安全機制來繞過權限問題,應先定位指令、檔案擁有者與執行環境。

遷移路徑

將遷移拆分為三條可驗證路徑

不要一次複製整個本機目錄。資料、工具鏈與 CI 的失敗原因各不相同,分開遷移才能快速回滾,並判斷問題來自檔案、版本還是執行環境。

SOURCE 本機 Mac
TARGET NUMACS 雲端 Mac
PATH 01

資料遷移

先遷移儲存庫、配置清單與必要素材,再視需要恢復大型快取。使用校驗值或檔案數量核對結果,避免一併複製暫存目錄、衍生資料與過期封存檔。

驗證結果 儲存庫提交一致、素材校驗通過,暫存快取未遷入
PATH 02

工具鏈恢復

依照版本清單重新安裝 Xcode、Homebrew、Ruby、Node.js 與套件管理器。相依鎖定檔應作為恢復依據,快取只能用於加速,不能取代可重複的安裝流程。

驗證結果 指令路徑、版本輸出與專案相依套件均與基線一致
PATH 03

CI 接入

註冊專用 Runner,設定工作目錄、快取邊界、並行上限與失敗日誌保留期限。先執行無簽署的測試任務,再逐步加入封存與匯出步驟。

驗證結果 Runner 可排程、失敗可重現,產物可追蹤

開發環境安裝

以專案基線為準,不以「最新」為目標

新設備最常見的問題不是缺少工具,而是版本組合發生漂移。先恢復能穩定建置的組合,再於獨立分支測試升級。

開發工具鏈恢復順序與驗收指令
層級 需要鎖定的內容 恢復方式 驗收證據
macOS 專案已驗證的系統主要版本與修補範圍 先記錄目前系統,首次遷移不跨主要版本升級 sw_vers
Xcode Xcode 版本、命令列工具路徑、SDK 安裝指定版本並明確切換開發者目錄 xcodebuild -version
Homebrew Brewfile、儲存庫來源、關鍵工具版本 依照清單重新安裝,不直接複製舊快取目錄 brew bundle check
Ruby 直譯器版本、Bundler 版本、Gemfile.lock 使用專案版本檔恢復後執行相依套件安裝 ruby -v
Node.js 執行環境版本、套件管理器版本、鎖定檔 依照版本檔安裝,使用凍結鎖定檔模式恢復 node -v
專案相依套件 CocoaPods、Swift Package、JavaScript 相依套件 分層恢復,每層失敗時個別保留日誌 相依解析不發生隱式升級
建議做法

將版本輸出保存為專案基線

首次成功建置後,將系統、Xcode、Ruby、Node.js、套件管理器與關鍵相依套件版本輸出保存至內部執行記錄。下次遷移或排查故障時,先比較基線,再修改環境。

sw_vers
xcodebuild -version
ruby -v
node -v
brew bundle check

程式碼與簽署接入

先用測試專案驗證權限,再處理正式封存

程式碼拉取、相依套件恢復、Keychain 存取與封存匯出應分開驗證。即使正式專案失敗,也能快速判斷問題來自儲存庫、相依套件或簽署權限。

REPOSITORY

複製與相依套件恢復

使用專用 SSH 金鑰複製儲存庫,檢查子模組與私有相依套件權限。安裝相依套件時採用鎖定檔模式,遷移期間禁止順手更新全部相依套件。

  • 確認預設分支與目標提交
  • 檢查子模組與產物儲存庫存取權限
  • 保存相依解析失敗日誌
SIGNING

匯入簽署資產

只匯入測試所需的去識別化簽署資產,限制 Keychain 檔案權限。任何復原碼、私鑰或完整付款憑證都不應進入工單、儲存庫或共用日誌。

  • 確認描述檔與目標識別碼相符
  • 驗證 Keychain 在非互動任務中的存取權限
  • 記錄憑證到期日與輪換負責人
ARCHIVE

測試封存與匯出

先對最小測試專案執行建置、測試與封存,再切換至正式工程。封存成功不代表匯出成功,匯出步驟應個別保存日誌與產物校驗結果。

  • 確認建置目標與 Release 配置
  • 檢查封存日誌中的簽署身分
  • 驗證匯出產物可讀取且校驗值穩定

CI Runner 接入

將 Runner 作為專用執行節點管理

Runner 接入的重點不只是「在線」,而是任務目錄可清理、快取有邊界、並行執行不會互相污染,且失敗日誌能夠保留。

接入參數

執行身分
使用獨立的低權限帳戶執行任務,需要管理員權限的步驟另行審核。
工作目錄
固定工作區根目錄,專案之間不共用 DerivedData、暫存金鑰與未宣告快取。
並行上限
先從單一任務基線開始,再依據記憶體、磁碟與建置耗時逐步增加。
快取策略
為相依快取設定鍵值、容量與清理條件;快取失效後仍應能完整重建。
日誌保留
保留失敗階段、指令結束代碼、關鍵工具版本與產物路徑,不記錄敏感值。

建議接入順序

  1. 01

    註冊專用 Runner,只執行一項無簽署的環境檢查任務。

  2. 02

    加入相依套件恢復與單元測試,確認清除快取後仍能成功。

  3. 03

    加入封存步驟,驗證 Keychain 在非互動工作階段中的存取範圍。

  4. 04

    加入產物匯出、校驗與上傳,記錄完整任務耗時基線。

首次任務驗收

一次成功還不夠,還要留下可重複使用的基線

驗收應涵蓋從程式碼拉取到產物匯出的完整流程,並記錄耗時、資源剩餘量與失敗重試結果。日後升級工具鏈或切換專案時,這份記錄就是比較基準。

  1. 拉取程式碼

    從空白工作目錄複製目標提交,驗證私有相依套件、子模組與儲存庫權限,不依賴舊目錄殘留。

    記錄提交值
  2. 安裝相依套件

    使用鎖定檔恢復所有相依套件,記錄冷快取與熱快取耗時,確認沒有發生隱式版本升級。

    保存版本清單
  3. 執行測試

    執行單元測試與必要的自動化測試,記錄失敗案例、重試次數與日誌位置。

    保留測試報告
  4. 產生封存檔

    核對建置配置、簽署身分與封存位置,確認非互動任務與圖形介面執行結果一致。

    保存封存日誌
  5. 匯出產物

    驗證匯出檔案可讀取,記錄檔案大小與校驗值,並將必要產物複製至獨立備份位置。

    核對校驗值
  6. 記錄資源基線

    保存 CPU 峰值、記憶體壓力、建置前後磁碟剩餘空間、總耗時與快取大小,作為後續異常比較依據。

    建立執行基線

日常維護

讓設備保持可恢復,而不只是持續可連線

NUMACS 實體節點全年 365 天正常運作,全年持續提供服務。設備端仍需持續管理快取、磁碟、備份與存取憑證,避免專案狀態只存在於單一設備。

WEEKLY

檢查磁碟與快取

查看工作目錄、DerivedData、模擬器執行環境、套件管理器快取與歷史封存檔。先依來源清理,不要使用無法說明影響範圍的全碟刪除指令。

AFTER CHANGE

更新環境基線

每次調整 macOS、Xcode、Ruby、Node.js 或關鍵相依套件後,重新執行測試與封存,並記錄變更前後的耗時與失敗差異。

REGULAR

輪換存取憑證

定期輪換 SSH 金鑰、儲存庫存取權杖與設備密碼。成員離開專案或權限變更時,立即撤銷相應存取權,不共用個人金鑰。

BEFORE EXIT

完成資料遷出

租用結束前匯出程式碼變更、建置產物、環境清單、CI 配置與必要日誌。對遷出檔案執行校驗,並在其他位置實際開啟驗證。

結束租用前

最後一次核對不要只看「檔案已複製」

  • 所有未推送的程式碼都已提交至受控儲存庫
  • 必要的封存與匯出產物已在獨立位置完成驗證
  • 環境版本、安裝腳本與 CI 配置已保存
  • 暫存憑證、私鑰副本與敏感日誌已清理

準備好執行第一份設備執行清單了嗎?

選擇機型、節點、週期與附加選項後,即可在控制台統一查看訂單與設備。僅支援 USDT-TRC20 與 Visa / Mastercard / Amex(透過 Stripe),全部以美元(USD)結算。