確定參數和變數類型

已完成

參數和變數是自訂管線行為的基本元件。 它們可讓執行階段值傳遞至管線工作和指令碼,並定義變數以用於不同的管線階段。 在管線中使用參數和變數時,請務必正確地定義其資料類型,以避免任何可能會影響專案安全性或管線執行的非預期行為。

參數和變數類型

參數和變數對於管線自訂很重要,因為它們允許彈性,並讓管線指令碼更動態。 您可以使用它們來儲存連接字串、環境變數和其他敏感性資料等值。 正確定義其資料類型也很重要,以避免因使用不正確而造成的非預期錯誤或弱點。

將參數或變數新增至管線

parameters:
- name: myParameterName
  type: myDataType
  default: myDefaultValue

variables:
- name: myReadOnlyVar
  value: myValue
  readonly: true

myParameterNamemyDataTypemyDefaultValuemyReadOnlyVarmyValue 取代為您想要的值。

範例:

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

不同於變數,管線參數在執行時無法由管線變更。 參數具有 numberstring 等資料類型,而且可以限制為值的子集。 當使用者可設定的管線部分只應該從限制清單中取得值時,限制參數會很有用。 安裝程式可確保管線不會採用任意資料。

將秘密定義為秘密變數或變數群組的一部分

您可以使用 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 管線,其中包含具有不正確類型的參數並執行它。 然後,宣告參數的正確型別並重新執行管線,以更正錯誤。 它可協助您瞭解在管線程式碼中保留參數和變數型別的重要性。

如需有關變數和參數的詳細資訊,請參閱: