Redmine 3.0.0をJRubyで動かす→ダメだった…

Updated: / Reading time: 3 minutes

昔にRedmineをwar化 (1) とりあえずRedmine+JRubyを動かすなんてことをやりましたが、Redmine 3.0.0がリリースされたということで、この最新バージョンでRedmine on JRubyを試してみました。

結論

途中で詰まってしまいました…

なので、この文書は「試したけどダメだったログ」になります。

前提

  • Windows
    • Macでも問題ないはず。
  • Vagrant
    • chef/centos-7.0を使用

Vagrantを起動

chef/centos-7.0を使用するように、Vagrantを初期化・起動します。

>vagrant init chef/centos-7.0
>vagrant up
>vagrant ssh

vagrant sshは、Windowsではsshコマンドがインストールされていないため失敗します。Cygwinなどでsshコマンドをインストールするか、任意のsshクライアント(TeraTermなど)を使用してください。

各種パッケージを更新、インストール

インストール済みソフトウェアを最新化します。

$ sudo yum -y update

開発パッケージ群をインストールします。

$ sudo yum -y groupinstall "Development tools"

Java SDKをインストールします。

$ sudo yum -y install java-1.7.0-openjdk java-1.7.0-openjdk-devel

JRubyをインストール

JRubyをインストールします。パッケージインストールではなく手動インストールします。

$ cd /usr/local/src/
$ sudo wget https://s3.amazonaws.com/jruby.org/downloads/9.0.0.0.pre1/jruby-bin-9.0.0.0.pre1.zip
$ sudo unzip jruby-bin-9.0.0.0.pre1.zip
$ sudo mv jruby-9.0.0.0.pre1/ ../lib/
$ sudo ln -s /usr/local/lib/jruby-9.0.0.0.pre1/bin/jruby.sh /usr/bin/jruby
$ cd

動作確認をします。

$ jruby -v

bundlerをインストールします。

$ sudo jruby -S gem install bundler --no-rdoc --no-ri

Redmineをダウンロード、展開

Redmineをダウンロード、展開します。

$ wget http://www.redmine.org/releases/redmine-3.0.0.zip
$ unzip redmine-3.0.0.zip
$ cd redmine-3.0.0

Redmine設定を作成

データベース設定を作成します。

$ vi config/database.yml

SQLite3を使用するように作成します。

production:
  adapter: sqlite3
  database: db/production.sqlite3

共通設定を作成します。

$ vi config/configuration.yml

メールサーバーは使用しない、その他はデフォルト設定として作成します。

production:

Gemパッケージをインストール

Redmineが使用するGemパッケージをインストールします。

$ jruby -S bundle install --without development test postgresql mysql

データベース初期化

セッションデータ暗号化用鍵の生成を行います。

$ jruby -S rake generate_secret_token

エラーになってしまいました…

NOTE: ActiveRecord 4.2 is not (yet) fully supported by AR-JDBC, please help us finish 4.2 support - check http://bit.ly/jruby-42 for starters

NOTE: ActiveRecord 4.2 is not (yet) fully supported by AR-JDBC

http://bit.ly/jruby-42にアクセスしましたが、正直良く分かりません…

jruby/activerecord-jdbc-adapterにアクセスすると、以下の文章を見つけました。

Extending AR-JDBC You can create your own extension to AR-JDBC for a JDBC-based database that core AR-JDBC does not support. We’ve created an example project for the Intersystems Cache database that you can examine as a template. See the cachedb-adapter project for more information.

“core AR-JDBC does not support”と言われてしまっているので、とりあえずここまででギブアップします。

おわりに

これが成功したら、次は1jarでRedmineを使用できるようにしたいなぁ。Dropwizardとかで。

Tags:

Updated: