Redmine のプラグインの場合、プラグイン本体のみ Github に登録しているので、そのままでは Travis で CI することができない。
諦めていたんだけど、.travis.yml のオプションとにらめっこしたらなんとなく出来そうな気がしたので試してみた。
10数回の試行を経て、なんとか出来たのでスクリプトを紹介します。
.travis.yml
before_install
があるので、after_install
があるかと思ったらなかった。before_install.sh
gem インストール前に実行させるスクリプト。
Travis ではbundle install
前に直下のGemfile
がBUNDLE_GEMFILE
環境変数に登録されてしまう。
しかし、指定したいのはプラグインのGemfile
ではなく、Redmine のものなのである。
なので、mv
しまくりでなんとかディレクトリ構成を整えた。苦労した。
Redmine のダウンロード URL がバージョンだけに依存してくれないのが少し残念。exec_test.sh
テスト実行用スクリプト。
前述のとおりafter_install
がなかったので、bundle install
後の処理(Redmineの初期化など)とテストの実行を同時にすることにした。
こちらはそんなに苦労しなかった。
これで、プラグインを複数バージョンの Ruby でテストすることができるようになった。
でも、複数バージョンの Redmine でテストすることは当然できない。
複数バージョンの Redmine を対象にテストするなら Jenkins 使うのがいいんだろうな。
0 件のコメント :
コメントを投稿