😀

Azure DevOps から Jenkins のパイプラインを実行してみた

に公開

Azure DevOps には、別途申請すれば無料利用可能な、Microsoft ホステッドのビルド用仮想マシンがあります。また、セフルホステッド用のエージェントプログラムを自前の仮想マシンにインストールすれば、仮想マシンの費用は別途ですが、Azure DevOps としては追加料金なしで利用可能です。それでも、どうしても Jenkins を使いたい場合、さてどうやってパイプラインを実行するのか不明だったので、実際に試してみました。

無料枠の Microsoft ホステッド時間とセルフホステッド数を確認画面

azure-devops-jenkins-01.png

検証用のプログラム作成

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 にパイプランを作成

azure-devops-jenkins-02.png

azure-devops-jenkins-03.png

手動で Jenkins に作成したパイプランを実行

azure-devops-jenkins-04.png

azure-devops-jenkins-05.png

Azure DevOps に Web Hook を作成

azure-devops-jenkins-06.png

azure-devops-jenkins-07.png

azure-devops-jenkins-08.png

azure-devops-jenkins-09.png

azure-devops-jenkins-10.png

検証用プログラムを変更

azure-devops-jenkins-11.png

Web Hook の履歴を確認

azure-devops-jenkins-12.png

azure-devops-jenkins-13.png

Jenkins のパイプランが自動実行された事を確認

azure-devops-jenkins-14.png

azure-devops-jenkins-15.png

参考

https://learn.microsoft.com/ja-jp/azure/devops/pipelines/licensing/concurrent-jobs?view=azure-devops&tabs=ms-hosted#how-much-do-parallel-jobs-cost

https://learn.microsoft.com/ja-jp/azure/devops/organizations/security/allow-list-ip-url?view=azure-devops&tabs=IP-V4#inbound-connections

https://www.jenkins.io/doc/book/pipeline/#declarative-pipeline-fundamentals

Discussion