在 Fabric 中使用變數函式庫來管理發佈管線各階段的設定,並在 Git 中儲存數值。 本文說明如何在生命週期管理、持續整合和持續傳遞 (CI/CD) 的內容中使用變數程式庫。
變數程式庫和部署管線
您可以在部署管線中部署變數程式庫及其值,以跨階段管理變數值。
請記住以下重要資訊:
變數程式庫中的所有 值集 都可供部署管線的所有階段使用,但階段中只有一組處於作用中狀態。
每個階段的使用中的值集都是分別選取的。 您可以隨時更改它。
當變數函式庫部署到空階段時,部署會建立一個工作空間, 預設值集 會處於啟用狀態。 如果目標環境需要另一個值集,請在目標工作區開啟變數庫,將所需的值集設為活動,並在執行依賴項目或部署計畫動作前儲存變數庫。
雖然部署不會影響每個階段中設定的 選取作用中值 ,但您可以更新變數程式庫中的值本身。 其工作區中的消費者項目(例如管線)會自動從活動值集中接收正確的值。
在部署管線的其中一個階段中,對變數或值集執行下列作業,會導致變數程式庫與不同階段中的相同項目相比時,顯示為不同的表單來源:
- 新增、刪除或編輯的變數
- 新增或刪除的值集
- 變數名稱
- 變數的順序
比較時,對作用中值集的簡單變更不會註冊為 不同的表單來源 。 作用中值集是項目組態的一部分,但未包含在定義中。 這就是為什麼它不會出現在部署管線的比較結果中,也不會在每次部署時被覆寫。
在部署計畫中使用變數函式庫值
部署計畫動作可以使用變數函式庫的參考,而非字面參數值。 部署執行時,Fabric 會利用目標工作區中變數函式庫的主動值集來解析該參考。 這使得同一動作能使用針對每個部署階段專屬的值。
部署前,請確保目標工作區包含參考的變數函式庫與變數,且正確的值集已啟用。 部署不會改變主動值集。 如果部署建立了目標工作 區,預設 值會持續生效,直到你選擇並儲存另一個值集。
對於部署計畫的動作,你可以用變數參考作為參數值。 欲了解更多資訊,請參閱 「傳遞參數給動作」。
如果 Fabric 無法解析某個參考,它會回報是哪個參考部分失敗了。 關於解析序列與修正,請參見 變數參考解析失效。
變數程式庫和 Git 整合
如同其他 Fabric 專案,變數程式庫可以與 Git 整合以進行原始檔控制。 變數程式庫專案會儲存為資料夾,您可以在 Fabric 與 Git 提供者之間維護和同步處理。
在 Git 更新和提交期間,會檢查項目權限。
主動的值集選擇是工作區狀態,不會儲存在 Git 裡。 當初始同步將變數函式庫匯入新工作區 時,預設 狀態是啟用的。 如果目標環境需要另一個值集,請在新工作空間中開啟匯入的變數函式庫,將所需的值設定為活動,並在執行依賴項目或部署計畫動作前先儲存變數庫。
變數程式庫專案的結構描述是包含四個部分的 JSON 物件:
- 值集資料夾
- 設定
- Platform.json,自動產生的檔案
- 變數
值集
變數庫資料夾包含名為 的子資料夾 valueSets。 此資料夾會包含每個值集的 JSON 檔案。 此 JSON 檔案僅包含該值集中 非預設 值的變數值。
非此檔案中變數的值則會取自預設值集。
設定
檔案包含 settings.json 變數程式庫的設定。
更多資訊請參見 變數 及 settings.json 範例。
變數
檔案 variables.json 包含變數名稱及其預設值。
如需詳細資訊,請參閱 variables.json 範例。
考慮事項與限制條件
變數的限制
最多可以有 1,000 個變數 和最多 1,000 個值集,只要您同時滿足以下兩個需求:
- 替代值集中的儲存格總數小於 10,000。
- 項目大小不超過 1 MB。
當您儲存變更時,會驗證這些需求。
備註欄位最多可包含 2,048 個字元。
值集描述欄位最多可包含 2,048 個字元。
替代值集的限制
- 變數庫中的替代值集會依您新增的順序顯示。 目前,您無法在 UI 中重新排列它們。 若要變更順序,請直接編輯 JSON 檔案。
- 每一個值集的名稱在變數程式庫中必須是唯一的。
- 變數名稱在變數程式庫中必須是唯一的。 在工作區中,如果兩個變數位於不同的項目,則可以使用相同的名稱。
- 在變數庫中,任何時間點都只會有一個(且僅有一個)值集處於作用中。 您無法刪除值集在作用中狀態時。 若要刪除它,請先將另一個值集設定為作用中。 您可以為部署管線的每個階段使用不同的啟用值組。