Redmineプラグインの開発環境を作成

すごい広島#10に参加しました。
・・・が、今回はエア参加です。
最近、Redmineのプラグインなどを自作してみたくなり、
プラグインの開発環境の構築などをやってみました。

開発環境構築までにやったこと

  • Redmineのソースのダウンロード
  • Redmineのセットアップ
  • pluginの雛形作成
  • pluginの動作確認

Redmineのソースのダウンロード

いつの間にかgithub上にもプロジェクトが作られていました。
せっかくなので、githubからcloneしてきます。

1
$ git clone  https://github.com/redmine/redmine.git

Redmineのセットアップ

Redmineのソースコードがclone出来たら、
必要なgemのインストールやDBの設定などを行なっていきます。

1
2
$ cd redmine
$ bundle install

rmagicのインストールに失敗する場合は、
ImageMagickを入れて再度bundle installしましょう。

1
2
$ brew install ImageMagick
$ bundle install

次に、DBの設定を行います。
pluginが動けばいいので、お手軽なsqliteで設定を行います。

1
2
$ cp config/database.yml.example config/database.yml
$ vi config/database.yml

設定ファイルは以下の様に書き換えました。

config/database.yml
1
2
3
4
5
6
7
8
9
10
11
production:
  adapter: sqlite3
  database: db/redmine_prod.sqlite3

development:
  adapter: sqlite3
  database: db/redmine_dev.sqlite3

test:
  adapter: sqlite3
  database: db/redmine_test.sqlite3

DBを作ります。

1
$ rake db:migrate

セッション用にトークンを作ります。

1
$ rake generate_secret_token

redmineを起動してみます。

1
$ rails s

http://localhost:3000にブラウザでアクセスすれば、
Redmineのホームが起動するはずです。

以上でRedmineのセットアップは完了です。

pluginの雛形作成

pluginの雛形作成は、ここを参考にしました。

まずは、環境変数を設定します。

1
$ export RAILS_ENV="production"

exampleというpluginを試しに作ってみます。

1
$ rails generate redmine_plugin example

以下の様に、pluginのファイルが作成されました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  create  plugins/example/app
  create  plugins/example/app/controllers
  create  plugins/example/app/helpers
  create  plugins/example/app/models
  create  plugins/example/app/views
  create  plugins/example/db/migrate
  create  plugins/example/lib/tasks
  create  plugins/example/assets/images
  create  plugins/example/assets/javascripts
  create  plugins/example/assets/stylesheets
  create  plugins/example/config/locales
  create  plugins/example/test
  create  plugins/example/test/fixtures
  create  plugins/example/test/unit
  create  plugins/example/test/functional
  create  plugins/example/test/integration
  create  plugins/example/README.rdoc
  create  plugins/example/init.rb
  create  plugins/example/config/routes.rb
  create  plugins/example/config/locales/en.yml
  create  plugins/example/test/test_helper.rb

pluginの説明などはplugins/example/init.rbに書けば良いようです。
作成した直後は以下の内容になってました。

plugins/example/init.rb
1
2
3
4
5
6
7
8
Redmine::Plugin.register :example do
  name 'Example plugin'
  author 'Author name'
  description 'This is a plugin for Redmine'
  version '0.0.1'
  url 'http://example.com/path/to/plugin'
  author_url 'http://example.com/about'
end

pluginの動作確認

環境変数がproductionに変わっているはずなので、
DBを作り直します。

1
$ rake db:migrate

redmineを停止し、もう一度起動しなおします。

1
$ rails s

http://localhost:3000/loginからログインし、
http://localhost:3000/admin/pluginsを確認するとプラグインが表示されるはずです。
(変更してなければ、IDとパスワードは両方ともadminです)

とりあえず、次はどうしたらいいのかわからないので、今日はここまで。

Comments