JenkinsでJOJO名言を表示する for Windows

Jenkins勉強会で@さんが使っているのをみてついカッとなってやった。
後悔はしていない。


Macでは以下の方法で出来るようだ。
JenkinsでJOJO名言を表示する


だが、Windowsではできない。
Cygwinで出来るかもしれないが、入れるのがめんどくさい。


Windowsユーザーに生れ落ちた自分の不幸を呪いながらインターネットを徘徊していると、fortuneコマンドをC++で書き直してくれた奇特な人がいるようだ。これで勝つる!

Fortune

以下、使用方法

1.上記のFortuneサイトからバイナリを取得する

zipファイルをダウンロードして適当なディレクトリに展開する。
ディレクトリの名前はfortuneにした。

2.データファイル用のディレクトリを作る

表示したいメッセージファイルを格納するディレクトリを作る。
今回はpath/to/fortuneの下に作ることにした。

$ mkdir path\to\fortune\message
$ mkdir path\to\fortune\message\off

3.データファイルを作る

サイトを見てもらえば分かるが、表示するメッセージを定義するために拡張子なしのファイルと.datファイルを作成する必要がある。

表示したいメッセージを格納したファイルを作成する。

  • メッセージはそれぞれ区切り文字のみの行で区切る。
  • 文字コードANSIが無難。
  • 拡張子はつけない。
  • 今回はjojoという名前のファイルを作った。作成したファイルは path/to/fortune/message に保存した。
『血は生命(いのち)なり!』
% (←区切り文字)
『汝! わたしの生命(いのち)となるか!』『は! 喜んで!』(1巻)
%
...
%

メッセージファイルからデータファイル(.dat)を作成する。

  • 展開したモジュールの中にあるstrFile.exeを実行すればおk
  • path/to/fortune/message にjojo.datが生成される
$ cd path/to/fortune
$ strfile path/to/fortune/message/jojo

4.メッセージファイルとデータファイルをコピーする

path/to/fortune/message/offにコピーする

$ copy path/to/fortune/message/jojo.dat path/to/fortune/message/off
$ copy path/to/fortune/message/jojo path/to/fortune/message/off

5.環境変数を設定する。

fortune.exeにパスを通し、環境変数 FORTUNEDIR を設定する。

$ set path=path/to/fortune
$ set FORTUNEDIR=path/to/fortune/message

6.Jenkinsにスクリプトを設定する

kiy0takaさんのブログを参考にjavascriptを仕込む。
7行目あたりの"fortune jojo"を"fortune"に変更すること。

これで!Windowsの!Jenkinsでも!JOJO名言が楽しめるっっ!!!