Redmine 「コードレビュープラグイン(Code Review)導入編」
Redmineにコードレビューの機能をつけるプラグインである「Code Review」の導入方法について述べる。
前提条件、下準備
・Redmineがインストールされている。
・Rubyがインストールされている。
ダウンロード
Code Reviewをharu_iida / redmine_code_review / Downloads — Bitbucketからダウンロードする。最新版のzipファイルを落とせば良いだろう。
ダウンロードしたファイルを解凍する。
配置
解凍したファイルをRedmineに配置する。配置場所はRedmineのインストールフォルダのvendor/plugins内である。
rakeコマンド
Rubyのコンソールを開き、プラグインを配置したpluginsディレクトリで下記のコマンドを実行する。
rake db:migrate_plugins RAILS_ENV=production
そうすると、
Missing the i18n 0.4.2 gem. Please 'gem install -v=0.4.2 i18n'
と出力される。ようするに、gemのバージョンが違うと・・・。
ちなみに、インストールしているgemは1.8.11だったので、かなりのダウングレードでは?
とりあえず、
gem install -v=0.4.2 i18n
を実行してみる。
再度rakeコマンドを実行してみると、
Missing the Rails 2.3.11 gem.Please 'gem install -v=2.3.11 rails',update your RAILS_GEMVERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.
という文が出力される。
とりあえず、上にならって
gem install rails --version 2.3.11
というコマンドでrailsのバージョンを下げてみることに。
さあ、これでどうだとrakeコマンドを実行すると、
WARNING: 'require 'rake/rdoctask'' is deprecated.Please use 'require 'rdoc/task'(in RDoc 2.4.2+)' instead. WARNING: 'task :t,arg,:needs => [deps]' is deprecated. Please use 'task :t,[args] => [deps]' instead.
と出力された。これは新しいパターン。。
ネットで調べたところ、rakeのバージョンが新しすぎるとこうなるとか。。たしかに、度重なるダウングレードによって、インストールしているrakeが動作しないということはあるかもしれない。
「基本的にRails3.0.5より前のRailsでは、rakeのバージョンは0.8.7を使う」のだそうだ。
っと、いうことで、
gem uninstall rake gem install rake -v0.8.7
を実行。
再度rakeコマンドを実行すると、
Use RbConfig instead of obsolete and deprecated Config. (in C:Program Files/BiNami Redmine Stack/apps/redmine) rake aborted! uninitialized constant Gem::SyckDefaultKey
と出力された。
これまた、今までにないエラー文。。
とりあえず、ググッてみたところ、Redmineをバージョンアップしようとしてrake db:migrateしたら、rake aborted! (uninitialized constant ActiveSupport::Dependencies::Mutex) - id:rx7(@namikawa)の技術メモ - 技術日記に、「gemのバージョンが新し過ぎるから」という貴重な情報!
たしかに、現状のgemのバージョンが1.8.13って新しすぎる(笑)
gem install rubygems-update -v=1.3.7
を実行できるようにするため、現状のバージョンをアンインストールしようとする。
gem uninstall -v=1.8.13
そうすると、
ERROR: While executing gem...(Gem::CommandLineError)
となる。おいおい。エラーからエラーですか。。
これについて調べてみると、インストールするときにsudoというコマンドをつけなければならなかったらしい。
それならデフォルトの仕様にしろよって話である。
gem uninstallでGem::InstallError|DIGITAL SQUADブログ
そもそもsudoコマンドとはWindowsのコマンドなのか?何やら怪しい香りがする。。
とりあえず、方針転換で「rakeコマンドを打つディレクトリが違うのではないか?」という点を疑ってみる。
BitNami Redmine Stack\apps\redmine\vendor\pluginsで実行していたが、このフォルダ内にはrakeファイルはない。
っと、いうことで、BitNami Redmine Stack\apps\redmineまでプロンプトのディレクトリを戻してrakeコマンドを実行してみる。
rake aborted! uninitialized constant Gem::SyckDefaultKey (See full trace by running task with --trace)
と、表示される。結局以前と同じエラー。。
なんだかtraceがなんちゃらといっているので、rakeコマンドを
rake db:migrate_plugins RAILS_ENV=production --trace
にして実行してみる。
traceを見る限り、rakeの実行はされているけれどもGemやらが動いていないとのことのようだ。。
もう一点、traceで気になるのはCドライブ直下のRubyを参照していること。一応、BitNamiのフォルダの中にもRubyがインストールされているわけで、ひょとしたら違うRubyファイルを呼び出しているのか?
"C:Program Files\BitNami Remine Stack\ruby\bin\rake" -f Rakefile rake db:migrate_plugins RAILS_ENV=production --trace
これでもエラー文変わらず。。
traceを見ると結局Cドライブ直下のRubyが呼び出されている。
いっそのことこいつをアンインストールしてみるか!ってんで、Cドライブ直下のRubyをアンインストール。
今度はRubyのコマンドそのものが認識されないようになった。当然と言えば、当然だが、Redmineと共に入っているRubyへのパスが通っていないのではないか?という新たな疑問が浮上する。
とりあえず、BitNamiフォルダ内のRubyにパスを設定してみると、Rubyのコマンドを受け付けるようになった。
この状態でRedmineフォルダまで移動し、
rake db:migrate_plugins RAILS_ENV=production --trace
を入力。
Core_RL_magick_dllが見つからなかったため、このアプリケーションを開始できませんでした。
と、出力される。
http://www.qualysite.co.jp/tech-blog/?p=2581を見るに、またしてもパスを通せということらしい。
とりあえず、パスを通し、コマンドプロンプトを再起動してrakeコマンドを入力してみる。
!!!!
通った!!
BitNami Redmineのmanageツールでアプリの再起動をかける。
実際にプロジェクトを作成してみると以下のとおり、