Jenkins で Tomcat の Parallel Deployment をしやすくするプラグイン作った

以前に Tomcat7 でゼロダウンタイムデプロイ - mallowlabsの備忘録 という記事を書きました。
WAR ファイルに someapp##数字.war という名前をつけるとゼロダウンタイムデプロイできるという内容です。

完全なゼロダウンタイムはメモリの問題で難しい場合もあるのですが、ビルド番号をつけておくことで「現在デプロイされているバージョンが一目でわかる」というメリットがあるため、Tomcat を再起動する場合のデプロイにも利用しています。

今回 Jenkins で WAR ファイルをビルドする際に、自動で someapp##数字.war というファイル名の成果物を作るプラグインを作りました。

https://github.com/mallowlabs/war-numbering-plugin

プラグインをインストールするとビルドの処理に「ビルド番号付き WAR」というのが増えるので、WAR ファイルを生成する処理の後ろに追加すると、プロジェクトのすべての WAR ファイルに対して、ハードリンクの作成かリネームを行います。

今までは後処理でシェルスクリプトを書いていたのが、少しだけ楽になりました。
Jenkins Update Center には上げていないので、必要な人がいればリアクションください。