プロジェクト

全般

プロフィール

GuideDevEnv » 履歴 » バージョン 2

Mitsuyoshi Yoshida, 2011/06/25 23:24

1 2 Mitsuyoshi Yoshida
h1. プラグインの開発環境の準備
2 1 Mitsuyoshi Yoshida
3 2 Mitsuyoshi Yoshida
プラグインの開発をしようとした場合、実際に稼動している Redmine でプラグインを作って試すのは危険が大きいです。まずはプラグイン開発のための環境を準備しましょう。
4 1 Mitsuyoshi Yoshida
5 2 Mitsuyoshi Yoshida
実際の Redmine の運用は Linux などで行うことが多いと思いますが、 Redmine は Windows 環境でも動作します。やはり、簡単に用意できるは Windows の PC ですし、自分で使うだけなら Windows の Redmine でも十分です。私もプラグインを作る時は自分の PC で行い、確認してから実際の Redmine にインストールしています。
6
そこで、開発環境には Windows 上の Redmine を使うことにして、その構築方法を説明をしていきたいと思います。ただし、 Redmine を立ち上げる方法はすでにいろんなサイトで紹介されているので、開発用の環境にポイントを絞っています。
7 1 Mitsuyoshi Yoshida
8 2 Mitsuyoshi Yoshida
通常の Redmine のインストール方法の説明については他のサイトを参考にしてください。以下のサイトなどがお勧めです。
9 1 Mitsuyoshi Yoshida
10 2 Mitsuyoshi Yoshida
* Redmine の本家
11
** http://www.redmine.org/projects/redmine/wiki/RedmineInstall 
12
* 本家の日本語訳
13
** http://redmine.jp/guide/RedmineInstall/ 
14
* Windows 版のインストール
15
** http://www012.upp.so-net.ne.jp/tanuki-project/install_redmine.html 
16 1 Mitsuyoshi Yoshida
17
18
19 2 Mitsuyoshi Yoshida
h2. 開発用 Redmine のポイント
20 1 Mitsuyoshi Yoshida
21 2 Mitsuyoshi Yoshida
開発用の Redmine のポイントは 2 つです。
22
# development モードで起動する
23
# サーバ には WEBrick を使う
24 1 Mitsuyoshi Yoshida
25 2 Mitsuyoshi Yoshida
Rails では動作モードとして、 *production* モードと *development* モードが用意されています。実際に稼動する場合は production モードで動作させますが、開発に使う場合は development モードの方がちょっと便利です。
26
production モードでは動作を早くするため、一度読み込んだコードは覚えておいて、再度表示する場合はそれを使います。それに対して development モードの場合は、表示するたびに毎回読み込んでくれるので、変更を Redmine の再起動なしで確認することが出来ます。ただ、 *ちょっと* 便利と書いたのは後で説明しますが、全部即座に変更が適用されるわけではないので、意外と再起動は必要です。
27
ちなみに動作モードには test モードというのもあります。これはテストに使うものですが、このプラグインガイドでは test については書いてないので、説明については省略します。 Rails ではテストも簡単にできるのらしいですが、私は使ったことがありません。
28 1 Mitsuyoshi Yoshida
29 2 Mitsuyoshi Yoshida
実際に運用する場合はサーバには Apache などを使うと思います。しかし、これらのサーバの場合、エラーが発生したとき、ページに *Internal Error* とでるだけですが、 *WEBrick* を使っていると *詳細なエラーページ* が出てきてデバッグにかなり役に立ちます。
30 1 Mitsuyoshi Yoshida
31 2 Mitsuyoshi Yoshida
!webrick_err.png!
32 1 Mitsuyoshi Yoshida
33
34 2 Mitsuyoshi Yoshida
h2. 使用ソフト
35 1 Mitsuyoshi Yoshida
36 2 Mitsuyoshi Yoshida
|_. Redmine      |        | http://rubyforge.org/frs/?group_id=1850 |
37
|_. Ruby         | Rumix  | http://ruby.morphball.net/rumix/        |
38
|_. データベース | SQLite | http://www.sqlite.org/download.html     |
39 1 Mitsuyoshi Yoshida
40 2 Mitsuyoshi Yoshida
まず、Redmine の最新版をダウロードします。作成したプラグインを公開する場合にはなるべく最新版で確認する方がいいでしょう。
41 1 Mitsuyoshi Yoshida
42 2 Mitsuyoshi Yoshida
Ruby には、 ruby 本体と一緒にいろいろインストールしてくれる Rumix を使用します。
43
プラグイン開発ではコマンドラインで実行しなければならないことが多いので、特に nyacus というコマンドラインの実行をやりやすくするプログラムが役に立ちます。
44
インストールした ruby の gem を使って、 rails などの必要なライブラリなどをインストールすることになりますが、この ruby 自身や gem を使ってインストールするものはなるべく "本家のインストールページ":http://www.redmine.org/projects/redmine/wiki/RedmineInstall で確認して Redmine のバージョンにあわせたものにして下さい。
45 1 Mitsuyoshi Yoshida
46 2 Mitsuyoshi Yoshida
データベースは SQLite にしました。多分、 Redmine が対応するデータベースの中では Windows 上で一番簡単に動作させられると思います。
47 1 Mitsuyoshi Yoshida
48
49 2 Mitsuyoshi Yoshida
h2. データベース設定
50
51
Rails では 1 つの Rails プログラムをモードを切り替えて動作させたとしても、他のモードに影響を与えないようになっています。そのため、データベースもモードごとに別々に設定するようになっています。
52
データベース設定は config/database.example.yml をもとに config/database.yml を作成します。開発は development モードで起動するので、 このとき development 用の設定を環境に合わせて記述します。
53
<pre><code class="yaml">
54
development:
55
  adapter: sqlite3
56
  dbfile: db/redmine.db
57
  timeout: 5000
58
</code></pre>
59
60
61
h2. データベースの作成
62
63
データベースの作成コマンドなども development 用にする必要があります。
64
Rails の起動モードの変更は RAILS_ENV という環境変数で行います。ただし、環境変数の設定されていないデフォルトの起動モードが development モードなので、 *"RAILS_ENV=production"* といった環境変数の設定を省略するだけです。
65
<pre>
66
 $ rake generate_session_store
67
 $ rake db:migrate 
68
 $ rake redmine:load_default_data
69
</pre>
70
71
この 1 行目のセッションストアを作る作業は Redmine の途中のバージョンから必要になった機能なので、たまに説明が書かれていないサイトもあったりするので忘れないように注意してください。
72
73
74
h2. サーバの起動
75
76
WEBrick で Redmine を起動します。
77
こちらも *"-e production"* の環境変数の設定を省略します。
78
<pre>
79
 $ ruby script/server
80
</pre>
81
82
起動後 <notextile>http://127.0.0.1:3000/</notextile> にアクセスしてください。Windows の場合、 <notextile>http://localhost:3000/</notextile> だとアクセスできないことがあります。
83
84
85
上手くアクセスできたら、開発環境の準備は完了です。これで自分の PC で Redmine が動くようになりました。
86
ただし、 development モードでかつ WEBrick を使っているとなるとかなり遅いですが、そこは我慢しましょう。
87
88 1 Mitsuyoshi Yoshida
----
89 2 Mitsuyoshi Yoshida
90
| [[プラグイン開発ガイド|^]] | [[GuideIntro|<<]] | [[GuideRails|>>]] |