確定參數和變數類型
參數和變數是自訂管線行為的基本元件。 它們可讓執行階段值傳遞至管線工作和指令碼,並定義變數以用於不同的管線階段。 在管線中使用參數和變數時,請務必正確地定義其資料類型,以避免任何可能會影響專案安全性或管線執行的非預期行為。
參數和變數類型
參數和變數對於管線自訂很重要,因為它們允許彈性,並讓管線指令碼更動態。 您可以使用它們來儲存連接字串、環境變數和其他敏感性資料等值。 正確定義其資料類型也很重要,以避免因使用不正確而造成的非預期錯誤或弱點。
將參數或變數新增至管線
parameters:
- name: myParameterName
type: myDataType
default: myDefaultValue
variables:
- name: myReadOnlyVar
value: myValue
readonly: true
將 myParameterName
、myDataType
、myDefaultValue
、myReadOnlyVar
和 myValue
取代為您想要的值。
範例:
parameters:
- name: image
displayName: Pool Image
type: string
default: ubuntu-latest
values:
- windows-latest
- ubuntu-latest
- macOS-latest
variables:
- name: eShopOnWeb
value: myValue
定義參數時,請使用正確的資料類型
Azure Pipelines 支援下列資料類型:
- string
- boolean
- 數值
- object
- step
不同於變數,管線參數在執行時無法由管線變更。 參數具有 number
和 string
等資料類型,而且可以限制為值的子集。 當使用者可設定的管線部分只應該從限制清單中取得值時,限制參數會很有用。 安裝程式可確保管線不會採用任意資料。
將秘密定義為秘密變數或變數群組的一部分
您可以使用 Azure Key Vault 來儲存秘密,然後在管線指令碼中加以參考。
範例:
variables:
- name: eShopOnWeb
value: myValue
# You can define variable groups to reuse variables across pipelines
# and to manage sensitive data centrally.
variables:
- group: eShopOnWeb
- name: ConnectionStrings.CatalogConnection
value: '$(CatalogConnectionToken)'
使用 readonly
屬性,確保管線在執行時不會變更變數
當您想要確保管線在執行時不會變更變數時,它會很有用。 例如,您可以使用這個屬性來確保變數在管線執行時不會由管線變更。
範例:
variables:
- name: eShopOnWeb
value: myValue
readonly: true
挑戰自己
若要練習確保參數和變數類型,最好是建立使用參數和變數的管線。 使用正確的語法和型別安全語言來定義參數和變數。 然後,使用參數驗證來確保管線正確執行。 最後,使用安全變數群組來保護任何敏感性資訊。 測試您的管線以確保其如預期般運作,並使用管線記錄針對任何問題進行疑難排解。
此外,請嘗試建立 YAML 管線,其中包含具有不正確類型的參數並執行它。 然後,宣告參數的正確型別並重新執行管線,以更正錯誤。 它可協助您瞭解在管線程式碼中保留參數和變數型別的重要性。
如需有關變數和參數的詳細資訊,請參閱: