Jenkinsの外からビルド実行するためのURLを用意する

ビルドを指示する方法はないかなーといろいろ調べているうちに、URLを叩いて実行する方法を発見。さっくりできたので備忘録としてまとめます。

スポンサーリンク

ビルド・トリガに認証トークンを設定する

ジョブ名>設定から、「ビルド・トリガ」にある”リモートからビルド (例: スクリプトから)”にチェックを入れて認証トークンを決める。

説明に下記の通り書いてあるけど、デフォルトでJenkinsはログイン認証がかかっているので、このURLだけでは実行できない可能性高し。

リモートからビルドを実行するには次のURLを使用します: JENKINS_URL/job/20230707/build?token=TOKEN_NAME もしくは、 /buildWithParameters?token=TOKEN_NAME

APIトークンの設定

次にURLアクセス時に認証を行うユーザーのAPIトークンを設定する。

Jenkinsの管理>ユーザーの管理で、APIトークンを設定するユーザーの設定を開くか、ログイン中のユーザーでよいなら右上のログインユーザー名から設定を開く。

「APIトークン」項目があるので、ユーザーに割り当てるAPIトークンを設定する。

これで準備完了。

URLからビルド実行を命令する

認証トークンで実行するジョブを、APIトークンで実行するユーザーを指定するイメージで、下記のURLを基本フォーマットにしつつURLを叩くとビルドが実行されるはず。

curl --user "[jenkinsユーザー名]:[APIトークン]" [JenkinsのURL]/job/[ジョブ名]/build?token=[認証トークン]

※curlならWindowsでもコマンドプロンプトから実行可。

まとめ

Jenkinsの外からビルドを指示できればなーとは思っていたけど、思いのほか手軽にできた。

外部からできるんだったらいろいろと工夫ができそう。

ただGitにもともとあるフックスクリプトと連携すれば、適切なタイミングでビルドさせることもできそうなので、実はURLでたたく必要はないんじゃ・・・?という気もあったりする。

フックスクリプトは軽く触った感じなんか動かない、、、

こっちは長くなりそうだわ。。。

スポンサーリンク
おすすめの記事