これは定期的にポーリングしているためJenkinsのビルドが始まるまでにタイムラグが発生する。
プッシュされたタイミングで即時にJenkinsビルドを実行させるにはGitフックを使用する。
(Git Pluginのインストールは省略)
Gitフックを使用するにはhooksディレクトリに適切なファイル名で配置する。
ここでは中央リポジトリにプッシュしたタイミングでJenkinsビルドを実行させるという想定なので
post-updateファイルを作成し、中央リポジトリのhooksディレクトリ直下に配置する。
#!/bin/sh wget -q "http://[Jenkinsトップ画面のアドレス]/job/[ジョブ名]/build?delay=0" if [ "$?" -eq 0 ]; then echo "Jenkins build run." else echo "Jenkins build failed." fi作成したら実行権限をつけ忘れずに。
chmod +x post-update上記スクリプトを見るとわかる通りwgetでジョブ実行のURLを叩くだけ。
ちなみにJenkinsのセキュリティが有効になっている場合は認証トークンの設定が必要。
上記のURLに下記を追加。
&token=[認証トークン]もちろんシェルスクリプトじゃなくてもpythonでもrubyでもお好きなのでどうぞ。
0 件のコメント:
コメントを投稿