Jenkins, Redmine使いこなし勉強会に参加してきました。
JenkinsとRedmineの連携かなーと思っていましたが、JenkinsとRedmineそれぞれについて
プレゼンターが発表する、という感じでした。
特にプラグインを利用した活用がメインという感じです。
togetterはこちら:http://togetter.com/li/309679
最初はRedmine。
Redmineプラグイン活用入門
発表してくださるのは @Kokawa_takashi さん。
ゲーム開発環境勉強会のメインの人だそうな。
資料はSlideshareにアップされてます。
http://www.slideshare.net/TakashiKokawa/redmine-13073354
以下、発表中にメモったことや、思ったことなど。。。
まず、Redmine自体や, Rubyとかの開発の流れが早いので、情報がすぐに陳腐化するかも?ということ。今得られる情報は今は有効だろうけど、すぐに陳腐化してしまう可能性はある。
常に最新の情報を追えってことやね。
Redmineの設定で解決できる問題:トラッカー、権限設定
運用で解決得きる問題:意識付け、スタンドアップMTG
Redmineを拡張して解決できる問題:今日の話!!!
まず、どこでプラグインを探せばいいか:
r-lab:http://www.r-labs.org/
本家サイト:http://www.redmine.org/plugins
運用にあったプラグインを探すべし。
運用やプロジェクトによって、合うプラグインも合わないプラグインもある。。。
そんな中でも、皆入れたらいいだろう、ていうオススメ:
Wiki Extensions Plugin:
- wikiの更新日・更新者が出せる
- 最近更新されたページ、アクセスランキングが出せる
- wikiを増やすことができる
- wikiページ内に他のwebページを埋め込むことができる
- チケットの情報をwikiで書けるようになる。
- チケットの中のwiki記法にも適用できる
その他おすすめのプラグイン:
- CodeReview
- Backlogs
- TimeTracker
またプラグインとは別に、REST API を使って外部から連携、という手もある。
プラグインを作るよりはハードルが低いかも?、とのこと。
Jenkinsと連携させておくと、Jenkinsを利用してRemineの問題を解決できたりする。
Redmineのプラグイン作成デモもあって、Redmineのプラグインのひな形に一行追加するだけで、RemineからHelpへのリンクを消すプラグインが作れる!
プラグイン利用のコツ:
メンテナンスがされていない、複雑な構造のプラグインは利用しないほうがいい!
じゃないと、Redmineのバージョンが上げられなくなる!
また、プラグイン入れ過ぎないほうがいい
Redmineのバージョンで問題が発生する可能性があるので…。
続いてJenkins
発表してくださるのは@cactusman(さぼてん)さん。
Jenkinsとは、OSSのCIツール。
高性能Cronっていうのはうまいなーと思った。
Redmineと同じく、自分のプロジェクトに合う・合わないプラグインそれぞれたくさんある。
Pluginの探し方:
本家Wiki:https://wiki.jenkins-ci.org/display/JENKINS/Plugins
…だけどいっぱいあって探すの大変。
Jenkins Plugin Hubっていうのがあって、こっちのほうがまだ探しやすいかも。
でもこっちもいっぱいある…。
Jenkinsのプラグインの出来はまちまち
区別の仕方は:
- コミット、リリースを見る
- ダウンロード数(Wikiで見れる)
Pluginおすすめ:
- TaskScaner Plugin:TODOなどのスキャン
- DisckUsage Plugin:Jenkinsのディスク使用量
- JobConfigHistoryPlugin:設定ファイルのバックアップ、差分表示
JenkinsPluginを作るには、Jenkinsの公式Pluginが参考になる。
つまり、Pluginのソース見たらいい!
質疑応答では:
JenkinsとRedmineの連携の運用のおすすめは?との問に対して、
「ビルド関係はJenkins、それ以外はRedmine」または、「どちらか(Redmineかな?)に情報を全部寄せる」というのがいいかな、とのこと。
ただ、JenkinsにはWikiはないし、Redmineにまとめるのが良さそう。
Jenkins(CI)のここがすごいってのはどこ?(仲間に紹介するのに)という問に対しては、
- テスト結果がグラフで出せる
- ビルドやテストの失敗が可視化できる
- 自分が編集した内容が、ほかモジュールにも影響していたっていうのが、ローカルでは探しづらいけど、CI使ってると見つけやすいかも
Jenkinsはテストを組み込まなければいけないのか、という問に対しては、
そんなことはないとおもう。
テスト書くの大変だし、Jenkinsでなにをやるのか、ビルドの自動化だけでも効果アリ。
その次は静的解析とか。
ソースコード中のTODOコメントをカウントしてくれるだけでも結構いい!
以上、勉強会中にメモった内容をもとに、簡単に書いてみました。
Redmineは触ったことあるし、今度業務でも使うことになっているけど、Jenkinsは未体験。
早く実際の開発で使ってみたいなー。