01 · 同步資料
只搬移原始碼與必要輸入資料
使用 rsync 或 SFTP 傳輸專案。排除 DerivedData、暫存建置目錄與可重新產生的快取;保留相依套件鎖定檔、測試資源與專案設定。
檢查項目:比對提交版本與重要檔案的校驗值,確認工作目錄、權限及磁碟空間。首次執行時,先以預演模式檢視差異。
rsync -azn \
--exclude 'DerivedData/' \
--exclude 'build/' \
./project/ \
"$MAC_HOST:~/work/project/"
確認預演結果後,移除 n。MAC_HOST 請使用交付的 SSH 連線別名;此範例不會刪除遠端既有檔案。
02 · 重建工具鏈
先對齊版本,再匯入憑證
依照專案清單準備 Homebrew 相依套件、Xcode 與 Command Line Tools。確認開發者目錄後,再透過安全管道匯入憑證與描述檔。
檢查項目:比對本機與節點上的 Xcode、Swift 及相依套件版本;先執行一次不需發佈憑證的建置,排除基本環境差異。
xcode-select -p
xcodebuild -version
swift --version
brew bundle check
brew bundle check 請先安裝 Homebrew,並在包含專案 Brewfile 的目錄中執行。此指令只會檢查相依套件,不會自動匯入簽署資料。
03 · 串接 CI
先手動執行成功,再自動派送工作
先在節點上手動執行專案指令,確認成功後,再依所用平台的說明註冊 Runner,設定儲存庫存取權、工作標籤、工作目錄與憑證權限。
檢查項目:提交一次測試變更,確認工作派送至目標節點、記錄可追蹤且成品可取回;離開互動工作階段後,再確認服務的執行方式。
uname -m
xcodebuild -list
launchctl list
請在專案目錄中確認建置目標。Runner 的註冊與常駐方式須依平台版本設定,不能將互動工作階段中的單次執行視為服務已就緒。