Redmine + redmine_backlogs
先月からタスク管理ツールを HuBoard に移行したんだけど(HuBoard の話はまた今度!),それまではずっと Redmine + redmine_backlogs を使ってて,個人的に凄く気に入ってた.
スクラムにフィットするし,入力項目が少なく管理もお手軽だし,非常にシンプルにできている.ただ Redmine の欠点として通知やインテグレーションに弱みがあるから微妙なのかも.2月に行った勉強会では redmine_backlogs の話題が出てなかったし,あんまり使われて無いのかなーと思ったり.
コントリビュートしたくなった
redmine_backlogs は Rails で OSS になっている.せっかくのヘビーユーザーだし,コントリビュートしてもっと使いやすくしたいなと思って,ローカルに環境構築をしてみたんだけど,いろいろとハマったのでまとめておこうと思う.
Vagrant に Redmine を構築する
まずは Vagrant に Redmine を構築する.別に Mac に直接でも良いけど,すぐに環境を作り直せるようにと思って Vagrant にした.既に Redmine がインストールされた Box があるのでそれを便利に使わせてもらった.
redmine_backlogs はドキュメントによると Redmine 2.2.4 と 2.3.2 をサポートしてるらしいので,今回は onozaty/redmine-2.3
にした.
適当にディレクトリを作ってホストを立てる.
mkdir redmine
cd redmine
vagrant init onozaty/redmine-2.3
次はもうお決まりだけど Vagrantfile
で以下をコメントアウトする.
config.vm.network "private_network", ip: "192.168.33.10"
そして起動する.
vagrant up
Redmine にアクセスする
ホストが起動したら何もせずに Redmine にアクセスできるようになっている.デフォルトユーザーとして admin/admin
でログインできる.
redmine_backlogs を導入する
vagrant ssh
ホスト上で redmine_backlogs を落として bundle install
する.
sudo su - root cd /var/lib/redmine/plugins/ git clone git://github.com/backlogs/redmine_backlogs.git cd redmine_backlogs/ bundle install --without development test
するとエラーになった.prawn
のバージョンがダメポだった.
Gem::InstallError: prawn requires Ruby version >= 2.0.0. An error occurred while installing prawn (2.0.2), and Bundler cannot continue. Make sure that `gem install prawn -v '2.0.2'` succeeds before bundling.
手動で Gemfile を以下のように更新して prawn
のバージョンを指定してあげる.
gem "prawn", '1.3.0'
もう1度 bundle install
したらうまく通った.
bundle install --without development test
次に導入用の rake を流したらまたエラーになった.
RAILS_ENV=production bundle exec rake redmine:backlogs:install (in /var/lib/redmine) rake aborted! cannot load such file -- rails/all (See full trace by running task with --trace)
この rake はプラグインのディレクトリじゃなくて Redmine のルートディレクトリじゃないとダメだった.
cd /var/lib/redmine bundle install --without development test RAILS_ENV=production bundle exec rake redmine:backlogs:install
ディレクトリを変えて再実行したら今度は別のエラーになった.
なんと Redmine 側で事前に設定しておく項目があるとのこと.わかりにくいな!
RAILS_ENV=production bundle exec rake redmine:backlogs:install rake aborted! You must set the default issue priority in redmine prior to installing backlogs /var/lib/redmine/plugins/redmine_backlogs/lib/tasks/install.rake:11:in `block (3 levels) in <top (required)>' Tasks: TOP => redmine:backlogs:install (See full trace by running task with --trace)
Redmine で管理画面にアクセスしてデフォルト設定を適用しておく.
やっと通った!2箇所対話形式で設定内容を聞かれるので適当に答えておく.
RAILS_ENV=production bundle exec rake redmine:backlogs:install 2.3.4.stable. You are running backlogs v1.0.6, latest version is 1.0.6 ===================================================== Redmine Backlogs Installer ===================================================== Installing to the production environment. Fetching card labels from http://git.gnome.org...done! 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): 2 You selected the following trackers: 機能. Is this correct? (y/n) y ----------------------------------------------------- Which tracker do you want to use for your tasks? 1. バグ 2. サポート Choose one from above (or choose none to create a new tracker): 1 You selected バグ. 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 db:schema:dump (first_time) ** Invoke environment ** Invoke db:load_config (first_time) ** Execute db:load_config ** Execute db:schema:dump ** 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!
Redmine を再起動する
restart.txt
を使った方法だとうまく反映されなかったので Apache を再起動した.
service httpd restart
完成!
やっと環境ができた!あとはコントリビュートするだけだ!
と思って redmine_backlogs のリポジトリを見てみると全然メンテされて無さそうな雰囲気出てて残念だ!w
まとめ
そこは Docker だろって言わないで!言わないで!
Docker の勉強はどうしたんだって?むしろ Vagrant じゃなくて Docker 使って Redmine 立ててみろよって?ごごごごもっともでございます(滝汗)
— Yoshiaki Yoshida (@kakakakakku) July 22, 2015