BitNami Redmine に Backlogs プラグインをいれてみた

BitNami Redmine 入れましょう

すっかりアジャイルサムライに感化されてしまったのか、このままじゃイカン!
てことで、家PCにRedmine&Backlogsプラグインをインストールしてみた。

一番お気楽な方法ってことで、BitNamiのRedmineスタックを採用。

http://bitnami.org/images/bitnami-logo.png
公式サイト http://bitnami.org/ja/stack/redmine から、Installer Free Download っていうデカいアイコンを押すと、
2.0.2のフルパッケージのインストーラがダウンロードできるので、それを起動してインストールを始めます。

インストール開始


言語選択で日本語を選ぶと、途中文字化けして辛いので、英語で進めるほうが良いでしょう。

ちなみに、日本語でインストールすると、左画面みたいな目に遭いますが、英語(右)だとちゃんと表示される模様。
 
メール送信サポートのダイアログだったんですな…。
これはわかんねぇよwww

ただし、↓の画面でDBで使う言語は日本語にしておきましょう。

ちなみに、後述の ruby DevKit のインストールでハマるので、インストール先はデフォルトの c:\Program Files\Bitnami Redmine から、
C:\Bitnami とかにしておきます。
"Program Files"とかの、スペースを旨く捌ききれないというショボンヌなことになるぞっと。

BitnamiRedmine 2.0.x系の罠

巷では、まだ2.0.x系の記事は少なめってことで、ググって出てくるような所のやりかたでインスコするとやられます。

1つめの罠 1.4.x と 2.0.x だと、Redmineのインストール場所が変わっている

これ、Bitnami Redmineスタックの仕様変更なのか、Redmine 2.0.x系の仕様変更なのかは不明だが、

  • 1.4.x : [installpath]\apps\redmine\
  • 2.0.x : [installpath]\apps\redmine\htdocs

となっているので、Redmineを弄る系のRubyスクリプト走らせるときは、後者のパスに読み替えないとダメ。
普通に中身を見てたりすれば間違えないが、なーんも考えずにネットの通りやろうとすると間違える。

2つめの罠 2.0.xはプラグインを置く場所が変わっている

Redmine 2.0.x系になってから、Rails 3.2系を使うようになったため、今までの vendor/plugins ディレクトリに入れると、↓みたいなエラーがでて動かないor不具合が生じる。

DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from C:/bitnami/apps/redmine/htdocs/Rakefile:7)
Plugins in vendor/plugins (C:/bitnami/apps/redmine/htdocs/vendor/plugins) are no longer allowed. Please, put your Redmine plugins in the `plugins` directory at the root of your Redmine directory (C:/bitnami/apps/redmine/htdocs/plugins)

なので、プラグインのインストール先はこういう風に変わってますヨっと。

  • 1.4.x : [installpath]\apps\redmine\vendor\plugins
  • 2.0.x : [installpath]\apps\redmine\htdocs\plugins

環境変数の設定

後々やらなきゃイケナイので、先にやっておきましょう。

RAILS_ENV=production
PATH=c:\bitnami\ruby\bin;c:\bitnami\imagemagick(既存のモノに追加)

Ruby Development Kit のインストール

OSに依存したライブラリーをWindows環境にインストールする為のツールもインストール。
現時点での最新版は、↓のファイルでokのようだ。
https://github.com/downloads/oneclick/rubyinstaller/DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe

ファイル直リンなので最新版は、ココから探るべし。
ファイル解凍パスは c:\bitnami\ruby\devkit にした

C:\bitnami\ruby\devkit>ruby dk.rb init
Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.

このとき、dk.rb で使うconfig.yml が生成されるが、パスがあってるかを確認しておく
config.yml の末尾に BitNamiでインストールされた Ruby のパスを通しておく。
例) - c:/bitnami/ruby

で、DevKitのインストール

C:\bitnami\ruby\devkit>ruby dk.rb install
[INFO] Updating convenience notice gem override for 'C:/bitnami/ruby'
[INFO] Installing 'C:/bitnami/ruby/lib/ruby/site_ruby/devkit.rb'

これでおk。

Redmine-BackLogsを入れる

ようやく、お目当てである、Redmine-BackLogs のインストール。

公式サイトはココだが、パッケージはgithubにて公開されている。
https://github.com/backlogs/redmine_backlogs から、ZIPでおkボタンを押すと取得できる。

今の最新版は v0.9.13 backlogs-redmine_backlogs-v0.9.13-9-g760632b.zip の模様。
これを c:\bitnami\apps\redmine\htdocs\plugins\redmine_backlogs に展開する。

まずは環境を整える

そのまま入れると、rake の依存関係が見つからない的なエラーが出るので
c:\bitnami\apps\redmine\htdocs\Gemfile を編集。

最初のほうにある gem .... の羅列に、gem 'rake' を追加

source 'http://rubygems.org'
gem "thin"
gem 'rails', '3.2.5'
gem 'prototype-rails', '3.2.1'
gem "i18n", "~> 0.6.0"
gem "coderay", "~> 1.0.6"
gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
gem "builder"
gem 'rake'     << これ

よし、これでパッケージインストールですよ、っと。

C:\bitnami\apps\redmine\htdocs>bundle install --without development test
Fetching source index for http://rubygems.org/
Fetching source index for http://rubygems.org/
Bundler could not find compatible versions for gem "gherkin":
  In Gemfile:
    cucumber (>= 1.1.8) ruby depends on
      gherkin (~> 2.8.0) ruby

    gherkin (2.6.8)

んが、こんな風に言われて、gherkin のバージョンが合わないとか言われます。

仕方ないので、必要とされている、2.8.0をインストール。

C:\bitnami>gem install gherkin -v 2.8.0
Fetching: gherkin-2.8.0-x86-mingw32.gem (100%)
Successfully installed gherkin-2.8.0-x86-mingw32
1 gem installed
Installing ri documentation for gherkin-2.8.0-x86-mingw32...
Building YARD (yri) index for gherkin-2.8.0-x86-mingw32...
Installing RDoc documentation for gherkin-2.8.0-x86-mingw32...

これだけだと、gherkin のバージョン指定をがっちりとやってしまってる backlogs がインストールできないので、
c:\bitnami\apps\redmine\htdocs\plugins\redmine_backlogs\Gemfile の 36行目あたりを

    gem "gherkin", "=2.6.8"
->  gem "gherkin", "=2.8.0"

とかってバージョンをごまかしておく。

もう一度、インストールを実行して、エラーが出なければ完了!

C:\bitnami\apps\redmine\htdocs>bundle install --without development test
もう一つ必要なパッケージである holidays をインスコ

でも、1.0.4以降のインストーラに問題があるらしく、一度古いのを入れてから最新版を入れます。

C:\bitnami\apps\redmine\htdocs>gem install holidays -v 1.0.3

エラーがでなければ、引き続き最新版(v1.0.5)を入れましょう。
C:\bitnami\apps\redmine\htdocs>gem install holidays

そして、どうやらおまじないであるらしい、こいつらを叩いておく。

C:\bitnami\apps\redmine\htdocs>bundle exec rake db:migrate
C:\bitnami\apps\redmine\htdocs>bundle exec rake tmp:cache:clear
C:\bitnami\apps\redmine\htdocs>bundle exec rake tmp:sessions:clear
ようやくbacklogsのセットアップ
C:\bitnami\apps\redmine\htdocs>bundle exec rake redmine:backlogs:install

2.0.2.stable (unsupported but might work, 'official' support is for 1.4)
=====================================================
             Redmine Backlogs Installer
=====================================================
Installing to the production environment.
Fetching card labels from http://git.gnome.org...Skipping malformed label 'Avery 7161' from avery-iso-templates.xml
Skipping malformed label 'Avery 8666' from avery-iso-templates.xml
Skipping malformed label 'Avery 6141' from avery-other-templates.xml
Skipping malformed label 'Brother DK-11201' from brother-other-templates.xml
Skipping malformed label 'Brother DK-11202' from brother-other-templates.xml
Skipping malformed label 'Brother DK-11204' from brother-other-templates.xml
Skipping malformed label 'Brother DK-11208' from brother-other-templates.xml
Skipping malformed label 'Dymo 99012' from dymo-other-templates.xml
Skipping malformed label 'Dymo 99010' from dymo-other-templates.xml
Skipping malformed label 'Dymo 11355' from dymo-other-templates.xml
Skipping malformed label 'Dymo 99014' from dymo-other-templates.xml
Skipping malformed label 'Dymo 30327' from dymo-other-templates.xml
Skipping malformed label 'Dymo 30376' from dymo-other-templates.xml
Skipping malformed label 'Dymo 30258' from dymo-other-templates.xml
Skipping malformed label 'Hema Etiketten' from misc-iso-templates.xml
Skipping malformed label 'OfficeMax 86112' from misc-other-templates.xml
Skipping malformed label 'Zweckform 3490' from zweckform-iso-templates.xml
Skipping malformed label 'Zweckform 32010' from zweckform-iso-templates.xml
done!

無事にセットアップが完了した模様。
長かった…。

backlogsの初期設定

ここでも日本語環境だと文字化けが。最初の3択はどのトラッカーに対してストーリー入力を可能にさせるかの質問。デフォルトで登録されている、バグ、機能、サポートが化けて表示される。後からでも編集できるハズなので、とりあえず、「1 2 3」と全選択しておく。
途中で、backlogsで発行するタスクカードのチケットトラック種別を聞かれるが、日本語で入れると文字化けして登録され、トンデモないことになるので、英語で「Task」とかにしておきましょう。

Configuring story and task trackers...
-----------------------------------------------------
Which trackers do you want to use for your stories?
  1. 繝舌げ        ←バグ
  2. 讖溯・        ←機能
  3. 繧オ繝昴・繝   ←サポート
Separate values with a space (e.g. 1 3): 1 2 3
You selected the following trackers: 繝舌げ, 讖溯・, 繧オ繝昴・繝・ Is this correct? (y/n) y
-----------------------------------------------------
Creating a new task tracker.
Please type the tracker's name: Task  ←当然日本語入れても化ける
You typed 'Task'. Is this correct? (y/n) y
Story and task trackers are now set.
Migrating the database...** Invoke redmine:plugins:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute redmine:plugins:migrate
** Invoke redmine:backlogs:fix_positions (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute redmine:backlogs:fix_positions
done!
Installation complete. Please restart Redmine.
Thank you for trying out Redmine Backlogs!

ようやくインストール完了!

起動してみよう

サービス再起動

起動するには、一度BitNamiのサービス類を再起動させる必要がある。

C:\bitnami\apps\redmine\htdocs>serviceinstall.bat STOP
(5個ぐらい開くDOS窓のタスクがすべて消えるまで待ってから、サービス再開)
C:\bitnami\apps\redmine\htdocs>serviceinstall.bat START

このとき、Vista以降の環境のDOS窓だと管理者権限がないのでサービスの操作ができないので注意。
CMD.EXEを管理者として実行すれば大丈夫。

ブラウザで確認

ブラウザで、http://localhost/redmine とかすると、Redmine が立ち上がると思うので、
http://localhost/redmine/admin/plugins とかやって、プラグイン管理画面にいって、
このように、Redmine Backlogs がインスコされていれば成功!


お疲れ様でした。(いや、マジで!

アジャイルな開発してみたいなぁ

今更ながら、アジャイルサムライとか読んでみた。

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

いや、この本マジでおもしろい。今まで読まなかったことを後悔するぐらい。
ノリも軽いし、仕事の気分転換にもなるのでオススメ。

さて、そんなこんなで?アジャイル開発に興味津々なわけだけど、どうやってイイのかわからないし、職場で啓蒙活動するのも難しそうだなぁ。とか思って、調べてたら、こんなの見つけた。

ゲーム自体はいわゆる収穫系アプリだけど、ゆるキャラ使ってカワイイ系で攻めてきたゆるロボの開発事例のスライド。
何がビックリしたかって、4〜5人が2ヶ月で作ってるというスピード感。2週間スプリントx4でゲームリリースしちゃうとか格好良すぎでしょう。これ、真似したい…。

でも、そこそこの規模でゲーム制作とかしてる環境では、なかなかアジャイル的な小回りの利く?開発なんてできないな、と思った。ウチとかだと2ヶ月じゃあキックオフの飲み会もできてないよ、たぶんw

いつまで経ってもタスクリストをExcelで管理とかナンセンスだし、もうちょっと良い方法見つけたいなぁと
Redmineとか入れてるチームもあるけど、チケット捌くヤツがエライとか本末転倒な状況になってるしw
せっかくチケット発行してイシュー共有してるのに自分の担当チケット以外まったく見てないメンバーだらけだったり。

たぶん、Redmineにしてもアジャイルにしても、ガチでそのまま使おうとするからハマるんだろうな、と。もっと気楽にやるには、割り切りが必要。

  • 個人のRedmineのチケットを残り0にする事が目的にならないようにする
  • 今、PJの進行上で何が起きてるかをキッチリと「見える化」する
  • チケットを捌くことが負担にならないようにする
  • コメントは最小限でよくて進捗や問題点はショートMTGでフォローする

ワシら仮にもIT企業なんだからもうちょっとアタマ使おうぜ!
ってことで、色々探してみたら、イイ記事見つけた。

RedmineのBacklogsプラグインを使えば、直感的でラクにチケットを捌けそうである。
公式サイト:http://www.redminebacklogs.net/

*スプリントボードの図
http://www.redminebacklogs.net/assets/images/sprint_backlog.png

*タスクボードの図
http://www.redminebacklogs.net/assets/images/sprint_taskboard.png

どっちの画面でもドラッグしたりでチケットを操作できる、猿でもわかるアジャイル開発仕様!

詳しくはココの記事を見た。

うん、コレでイケそうだ(・∀・)キタコレ!

興味のあること

あわわ、折角開設したのに、1ヶ月以上開いてますがな…。

さて。やっぱりこのご時世、猫も杓子もソーシャルゲームなワケです。
今更ながらウチでもやるって事になったんですが、たぶん、クライアント側に関してはソコソコにノウハウ持ってる人いるんだけど、大規模なサーバとかDBとか、そんな詳しい人間居ないよ?大丈夫なのかなぁ…(´・ω・`)
どうせならNode.js+MongoDBとかでやってみてドヤドヤしたいなぁ…。

でも評価するにも知識がなさ過ぎて情けないので、ちょっと色々調べてみよう。
そのまんま、「MongoDB ソーシャルゲーム」でググったら出てくる slideshare をみてみたり。
http://www.slideshare.net/snamura/mongodb-nodejs

そこで気がついた。

  • そもそも JavaScript とか書けるのか!?
  • そもそも サーバサイドとかって知識ないよ?
  • そもそも オレ、何担当なんだろうw

弱小チームなんで何から何までやらなきゃいけないかもしれないので、とりあえず頑張ろう!

じぶんのこと

プロフにチョロっと書いてみたりしましたが、普段のお仕事はゲームプログラマやってます。

と言っても、今をときめくソーシャルゲームの雄であるGREEだ、モバゲーだって言うカッコイイ所じゃなくて、割と老舗系な会社の隅っこで細々と穀潰しプログラマやってますよ、と。

普段の業務でリサーチ(と言うサボりw)をしていろんな技術系サイトを眺めていると、ゲームと一言に言っても、自分(たち)が知らない世界がいっぱいあって、いつまでたってもリッチな絵作りだ、とか壮大なストーリーだ、とか言ってるとあっという間に世の中に取り残されちゃいますよ…って怖くなって。

周りはともかく、このままじゃイカンなぁ…ということで一大奮起して、手に職付けてやるぞー的なスタンスで書いていこうかなw

はてなダイアリー始めました

連休中に基礎力向上ってことで、なにか技術を身につけようかなーと思ったので。
備忘録でも付けてみようかなぁと。

ブログの方も開設してみたんだけど、コレ使い分け結構悩むな…。
みんなどんな風に使ってるんだろう?