ごった煮

色々な事を書いてます

Azure Pipelines の変数を動的に切り替える

Azure Pipelines を使用しているとパラメータを動的に切り替えたい場合が出てくると思います。(例えば、Debugビルド、 Releaseビルドの切り替えなど) Runtime Parameters の機能を使用すると変数を動的に切り替えてパイプラインを実行することが出来ます。

使い方

以下のような YAML を定義します。

# Runtime Parameters demo 
trigger:
- master

parameters:
- name: buildConfig
  displayName: Build Config
  type: string
  default: Release
  values:
  - Release
  - Debug

- name: vmImage
  displayName: VM Image
  type: string
  default: windows-2019
  values:
  - windows-latest
  - windows-2019
  - vs2017-win2016
  - ubuntu-latest
  - ubuntu-18.04
  - ubuntu-16.04
  - macOS-10.14
  - macOS-10.15

- name: boolVal
  displayName: second
  type: boolean
  default: true
  values:
  - true
  - false

- name: numVal
  displayName: number
  type: number
  default: 0
  values:
  - 0
  - 1
  - 2
  - 3
  - 4
  - 5
  - 6
  - 7

jobs:
- job: echo
  displayName: echo
  pool:
    vmImage: ${{ parameters.vmImage }}
  steps:
  - script: echo ${{ parameters.buildConfig }}
    displayName: echo
  - ${{ if eq(parameters.boolVal, true) }}:
    - script: echo ${{ parameters.numVal }}
      displayName: 'echo num'

parameters 以下に書いていきます values に値をセットすると、 Run Pipeline メニューで選択できるようになります。 boolean 型を使用すると、job の実行を切り替えたりといったことも可能です。

このパイプラインをで Run Pipeline メニューを開くと以下のような見た目になります。 displayName がメニューの名前として表示されます。

f:id:papemk2:20200416003136p:plain

これによりプルダウンやチェックボックスで動的に値を切り替えることが出来ます。

まとめ

結構便利なので、ぜひ覚えてみましょう