Azure DevOps には、別途申請すれば無料利用可能な、Microsoft ホステッドのビルド用仮想マシンがあります。また、セフルホステッド用のエージェントプログラムを自前の仮想マシンにインストールすれば、仮想マシンの費用は別途ですが、Azure DevOps としては追加料金なしで利用可能です。それでも、どうしても Jenkins を使いたい場合、さてどうやってパイプラインを実行するのか不明だったので、実際に試してみました。
無料枠の Microsoft ホステッド時間とセルフホステッド数を確認画面
検証用のプログラム作成
bash
$ dotnet new console -o mnrd2j
$ cd mnrd2j
$ dotnet run
Hello, World!
Jenkinsfile を作成
bash
$ cat <<EOF > Jenkinsfile
pipeline {
agent any
stages {
stage('Run') {
steps {
echo 'Running the application'
sh 'dotnet run'
}
}
}
}
EOF
Azure DevOps の Repos に Git Push
bash
$ dotnet new gitignore
$ git init
$ git add -A
$ git commit -m "first commit"
$ git branch -m main
$ git remote add origin https://mnrsdev@dev.azure.com/mnrsdev/mnrsdev/_git/mnrd2j
$ git push -u origin --all
Jenkins にパイプランを作成
手動で Jenkins に作成したパイプランを実行
Azure DevOps に Web Hook を作成
検証用プログラムを変更
Web Hook の履歴を確認
Jenkins のパイプランが自動実行された事を確認
参考