ツナ缶雑記

ぐうたらSEのブログです。主にマイクロソフト系技術を中心に扱います。たまに技術と関係ないことも書きます。

個人的によく使うAzure Pipelinesの定義済み変数まとめ

f:id:masatsuna:20200530011052p:plain

Azure Pipelines で YAML を書いていると、毎回のように定義済み変数の名前を検索することになります。 変数名が長すぎて覚えきれない。 今回は YAML を書くとき私が個人的にめちゃくちゃよく使う定義済み変数をまとめておきます。

よく使う定義済み変数

変数の名前 意味 値の例
Agent.BuildDirectory または Pipeline.Workspace ビルドエージェント内に作成されるこのビルドパイプライン用のルートディレクトリ。どちらを使っても同じ値。 c:\agent\_work\1
Build.SourcesDirectory ソースコードをダウンロードしてくるディレクト c:\agent\_work\1\s
Build.BinariesDirectory ビルドしたバイナリファイルの出力先として使うディレクトリ。ここにバイナリを一旦出力して、 Zip 圧縮後に Build.ArtifactStagingDirectory に配置することが多い。ビルド開始時に勝手にクリーンしてくれない。 c:\agent\_work\1\b
Build.ArtifactStagingDirectory または Build.StagingDirectory ビルド成果物をパイプラインアーティファクトとしてアップロードする前にコピーして置いておくディレクトリ。どちらを使っても同じ値。ビルド開始時に勝手にクリーンしてくれる。 c:\agent\_work\1\a
Build.Reason このビルドを実行するに至ったイベント。手動で実行したとき、プルリクエストを契機に実行したとき、などが判定できる。 Stage の Conditions で使うことが多い。 IndividualCI など(「よく使う Build.Reason のとる値」参照)
Build.SourceBranch ビルドを実行したブランチ。完全名となる文字列が渡ってくる。Stage の Conditions で使うことが多い。 refs/heads/master refs/tags/タグ名など
Build.SourceBranchName ビルドを実行したブランチ。ブランチのパスの最後の文字列が渡ってくる。Stage の Conditions で使うことが多い。 master タグ名 など
Build.BuildId ビルドID。パイプラインアーティファクトにアップロードする Zip ファイルの名前とかによく使う。 105

よく使う Build.Reason のとる値

意味
Manual 手動でビルドをキューに入れた。
IndividualCI ブランチをプッシュした。ただし CI トリガーの batch が false に設定されている場合(既定値)。
BatchedCI ブランチをプッシュした。ただし CI トリガーの batch が true に設定されている場合。
Schedule 設定したスケジュールで実行された。
PullRequest ブランチポリシーで「Build validation」を設定したブランチに対するプルリクエストが提出された。

全定義済み変数

以下のページにまとまっています。

docs.microsoft.com