Vagrant に Redmine + redmine_backlogs の環境を構築してみた

Redmine + redmine_backlogs

先月からタスク管理ツールHuBoard に移行したんだけど(HuBoard の話はまた今度!),それまではずっと Redmine + redmine_backlogs を使ってて,個人的に凄く気に入ってた.

スクラムにフィットするし,入力項目が少なく管理もお手軽だし,非常にシンプルにできている.ただ Redmine の欠点として通知やインテグレーションに弱みがあるから微妙なのかも.2月に行った勉強会では redmine_backlogs の話題が出てなかったし,あんまり使われて無いのかなーと思ったり.

kakakakakku.hatenablog.com

コントリビュートしたくなった

redmine_backlogs は RailsOSS になっている.せっかくのヘビーユーザーだし,コントリビュートしてもっと使いやすくしたいなと思って,ローカルに環境構築をしてみたんだけど,いろいろとハマったのでまとめておこうと思う.

VagrantRedmine を構築する

まずは VagrantRedmine を構築する.別に 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 でログインできる.

http://192.168.33.10/

redmine_backlogs を導入する

次にプラグインを導入するので,ホストに ssh する.

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 で管理画面にアクセスしてデフォルト設定を適用しておく.

http://192.168.33.10/admin

やっと通った!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 だろって言わないで!言わないで!

関連エントリー