GitHubとかでできたあの感じです。
tl;dr
ドキュメントに書いてあります。
Azure Repos→BranchesからブランチのBuild Policiesを開き、Build Validationを有効にする(設定をする)。
詳しい設定手順はドキュメントに図付きで出ている。
でも英語が読めないのでほとんどわかっていない・・・時間があればちゃんと読みたい。
動作イメージ
Build Validationの設定後、そのブランチに対してPullRequestを作成すると、Buildが行われる。
以下はビルドの履歴。トリガーが「Pull request build for ...」という形になり、PullRequestをトリガにして行われた事がわかる。
(下から手動実行時、ブランチ更新時、PullRequest実行時)
おまけ:Build時とPullRequest時で異なる環境変数メモ
PullRequest(PR)にビルド結果の情報を連携したいときに、PRの番号が取れないと困るが取れるのか?と疑問に思ったので、ビルドマシン上で環境変数をdumpして差分をみてみた。どちらもHostedなubuntu 16.04。
BUILD_REASON
とBUILD_SOURCEBRANCH
変数が異なり、SYSTEM_PULLREQUEST_
で始まる変数が加わっている。
変数名 | Build時 | PullRequest時 |
---|---|---|
BUILD_REASON |
IndividualCI |
PullRequest |
BUILD_SOURCEBRANCH |
refs/heads/master (ビルド時のブランチ) |
refs/pull/2/merge (PRの番号が2の場合) |
SYSTEM_PULLREQUEST_PULLREQUESTID |
- |
2 (PRの番号が2の場合) |
SYSTEM_PULLREQUEST_SOURCEBRANCH |
- |
refs/heads/feature/update-pipelines (PRのブランチ名) |
SYSTEM_PULLREQUEST_SOURCECOMMITID |
- |
cc86efe4ab885b7e3973074f4f30c4ec3345fdc5 (PRのコミットID) |
SYSTEM_PULLREQUEST_SOURCEREPOSITORYURI |
- | https://ユーザ名@dev.azure.com/組織名/プロジェクト名/_git/Gitリポジトリ名 |
SYSTEM_PULLREQUEST_TARGETBRANCH |
- | refs/heads/master |
変数名がSYSTEM
始まりで見落としてた。調べたらこの辺りはドキュメントに書かれていた。ドキュメント嫁。
ここまで来たら、PR番号を使ってコメントを投げる部分もやりたいが、週末頑張る。
なお、PRのアクションに合わせてRelease実行するには、単純にmasterブランチのマージをトリガにすればよさそう。