RedmineプラグインのCI環境を作る

1年ぐらい前にNDSでRedmineプラグインのテスト書いてとLTしましたが、幾ばくかのテストを自分で書きました。
テストを書いたので次はCI環境を作りたいと思います。


Travis Integration for Redmine Plugins

調べてみたところ、以下を見つけました。
Travis Integration for Redmine Plugins
Redmineプラグインのテストをするには、当たり前ですがRedmineが必要になります。なので、CIの環境にRedmineをインストールするところから始めないとなのですが、その辺をTravis CI向けにスクリプト化したものです。
これは便利そうということで、これを使っての環境構築を試してみました。

追記:上記のリポジトリでRedmineをダウンロードしてくるソースがedavis10のところになっていました。ここもミラーしているようですが、Redmineのフォーラムでgithubのリポジトリが示されていたので、フォークしてソースに書き換えました
追記の追記:プルリクエストを出して取り込まれました。

手順

手順は以下のとおりです。Travis CIで対象のリポジトリをCI対象にしている状態とします。
  1. Travis Integration for Redmine Pluginsをクローンしてくる。
  2. .travis*をプラグインのルートフォルダにコピーする。
  3. .travis.ymlで定義されているbranchesを書き換える。クローンしたままだとtestingブランチのみが対象となるため、フックが効かないことがあるかもです。
  4. .travis.ymlで定義されているenvを書き換える。REDMINE_VERSIONで指定されたバージョンのRedmineでテストをします。複数指定する場合は、行をコピーしてバージョンを書き換えてください。
  5. .travis.ymlで定義されているPLUGINをプラグイン名に書き換える。
  6. .travis*をコミットする。コミットがフックされてビルドが開始されます。

結果

できた環境はこちら。テストも成功しました。
.travis.ymlrvmREDMINE_VERSIONのマトリックスでビルドが実行されます。
非常に簡単にRedmineプラグインのCI環境を作ることができました。RedmineプラグインのCI環境を作るハードルを下げてくれますね。

コメント

Amazon ad