Jenkins - Subversionへのコミットのタイミングで、ジョブを実行する

Jenkinsの典型的な利用パターンの一つに「Subversionへのコミットを行うと自動でビルドジョブを実行する」というものがあります。これはGitを利用しているとすごく簡単にできるようです。

残念ながら我が社は相変わらずこういうものに厳しい、ということとSubversionすら使いこなせていない現状を考えると、まだその時ではない、ということでSubversionで進めています。

 

話が長くなりました。このSubversionからのコミット連携の記事はたくさんあります。例えば、romth様の記事が下記です。

romth.hatenablog.com

 

が、この手を使うにはwgetというプログラムを入れる必要があります。冒頭でもお話をしましたが、我が社ではなかなか難しいですので、他の手を考えました。(上記の手段をとった場合、Jenkinsのユーザー名とパスワードはどうやって認識しているのでしょうね?)

Jenkinsはスクリプトやシェルからアクセスできる組込のCLIクライアントを持っています。自分のJenkinsのパスの最後にcliを付けると、インストーラのパスと使えるコマンド一覧が出てきますので見てみてください。(デフォルトはhttp://localhost:8080/cli/)

 

参考までにtototoshi様の記事を下記に示します。

qiita.com

 

Jenkinsのディレクトリ内にあるjenkins.warを解凍するとjenkins-cli.jarが入っていると思いますので、Subversionのフックスクリプト内に下記のように記載すればCLIから操作できます。

cd "jenkins-cli.jarのディレクトリ"
java -jar jenkins-cli.jar -s http://localhost:8080/ build "ジョブ名"

 

肝心なことを書き忘れました。CLIを使うにあたって下記記事の一番下に書いた設定を有効にする必要があります。ご注意を!

tsuga-ppp.hatenablog.com

 

まだまだいろいろやりたいことがあるのですが、どこまでできるのかも分からないので少しずつ試していきます。