プロジェクト

全般

プロフィール

GuideDevEnv » 履歴 » バージョン 7

NAITOH Jun, 2013/03/09 08:56
Redmine 1.4 Bundler の記述追加

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 3 Mitsuyoshi Yoshida
23 2 Mitsuyoshi Yoshida
# development モードで起動する
24
# サーバ には WEBrick を使う
25 1 Mitsuyoshi Yoshida
26 2 Mitsuyoshi Yoshida
Rails では動作モードとして、 *production* モードと *development* モードが用意されています。実際に稼動する場合は production モードで動作させますが、開発に使う場合は development モードの方がちょっと便利です。
27 4 Mitsuyoshi Yoshida
production モードでは動作を速くするため、一度読み込んだコードは覚えておいて、再度表示する場合はそれを使います。それに対して development モードの場合は、表示するたびに毎回読み込んでくれるので、変更を Redmine の再起動なしで確認することが出来ます。ただ、 *ちょっと* 便利と書いたのは後で説明しますが、全部即座に変更が適用されるわけではないので、意外と再起動は必要です。
28 2 Mitsuyoshi Yoshida
ちなみに動作モードには test モードというのもあります。これはテストに使うものですが、このプラグインガイドでは test については書いてないので、説明については省略します。 Rails ではテストも簡単にできるのらしいですが、私は使ったことがありません。
29 1 Mitsuyoshi Yoshida
30 2 Mitsuyoshi Yoshida
実際に運用する場合はサーバには Apache などを使うと思います。しかし、これらのサーバの場合、エラーが発生したとき、ページに *Internal Error* とでるだけですが、 *WEBrick* を使っていると *詳細なエラーページ* が出てきてデバッグにかなり役に立ちます。
31 1 Mitsuyoshi Yoshida
32 2 Mitsuyoshi Yoshida
!webrick_err.png!
33 1 Mitsuyoshi Yoshida
34
35 2 Mitsuyoshi Yoshida
h2. 使用ソフト
36 1 Mitsuyoshi Yoshida
37 2 Mitsuyoshi Yoshida
|_. Redmine      |        | http://rubyforge.org/frs/?group_id=1850 |
38
|_. Ruby         | Rumix  | http://ruby.morphball.net/rumix/        |
39
|_. データベース | SQLite | http://www.sqlite.org/download.html     |
40 1 Mitsuyoshi Yoshida
41 2 Mitsuyoshi Yoshida
まず、Redmine の最新版をダウロードします。作成したプラグインを公開する場合にはなるべく最新版で確認する方がいいでしょう。
42 1 Mitsuyoshi Yoshida
43 2 Mitsuyoshi Yoshida
Ruby には、 ruby 本体と一緒にいろいろインストールしてくれる Rumix を使用します。
44
プラグイン開発ではコマンドラインで実行しなければならないことが多いので、特に nyacus というコマンドラインの実行をやりやすくするプログラムが役に立ちます。
45
インストールした ruby の gem を使って、 rails などの必要なライブラリなどをインストールすることになりますが、この ruby 自身や gem を使ってインストールするものはなるべく "本家のインストールページ":http://www.redmine.org/projects/redmine/wiki/RedmineInstall で確認して Redmine のバージョンにあわせたものにして下さい。
46 1 Mitsuyoshi Yoshida
47 2 Mitsuyoshi Yoshida
データベースは SQLite にしました。多分、 Redmine が対応するデータベースの中では Windows 上で一番簡単に動作させられると思います。
48 1 Mitsuyoshi Yoshida
49 7 NAITOH Jun
h2. gem パッケージのインストール
50
51
Redmine 1.4以降では gem パッケージの管理は "Bundler":http://gembundler.com/ で行われおり、 Gemfile の指定に従って必要な gem がインストールされます。
52
53
<pre>
54
$ gem install bundler
55
$ bundle install --without postgresql mysql rmagick
56
</pre>
57
58
使用しないデータベース( postgresql, mysql )を外してあります。 rmagick も今回は使用しませんので外しておきます。この without 指定は Gemfile に記載されている group 単位の指定になります。
59 1 Mitsuyoshi Yoshida
60 2 Mitsuyoshi Yoshida
h2. データベース設定
61
62
Rails では 1 つの Rails プログラムをモードを切り替えて動作させたとしても、他のモードに影響を与えないようになっています。そのため、データベースもモードごとに別々に設定するようになっています。
63
データベース設定は config/database.example.yml をもとに config/database.yml を作成します。開発は development モードで起動するので、 このとき development 用の設定を環境に合わせて記述します。
64
<pre><code class="yaml">
65
development:
66
  adapter: sqlite3
67
  dbfile: db/redmine.db
68
  timeout: 5000
69
</code></pre>
70
71
72
h2. データベースの作成
73
74
データベースの作成コマンドなども development 用にする必要があります。
75
Rails の起動モードの変更は RAILS_ENV という環境変数で行います。ただし、環境変数の設定されていないデフォルトの起動モードが development モードなので、 *"RAILS_ENV=production"* といった環境変数の設定を省略するだけです。
76
<pre>
77 6 NAITOH Jun
 $ rake generate_secret_token
78 2 Mitsuyoshi Yoshida
 $ rake db:migrate 
79
 $ rake redmine:load_default_data
80
</pre>
81
82
h2. サーバの起動
83 1 Mitsuyoshi Yoshida
84 2 Mitsuyoshi Yoshida
WEBrick で Redmine を起動します。
85
こちらも *"-e production"* の環境変数の設定を省略します。
86
<pre>
87 6 NAITOH Jun
 $ rails server
88 2 Mitsuyoshi Yoshida
</pre>
89
90
起動後 <notextile>http://127.0.0.1:3000/</notextile> にアクセスしてください。Windows の場合、 <notextile>http://localhost:3000/</notextile> だとアクセスできないことがあります。
91 5 Mitsuyoshi Yoshida
最初は次のユーザでログインして下さい。
92 2 Mitsuyoshi Yoshida
93 5 Mitsuyoshi Yoshida
* login: admin
94
* password: admin
95 1 Mitsuyoshi Yoshida
96 5 Mitsuyoshi Yoshida
上手くログインできたら、開発環境の準備は完了です。これで自分の PC で Redmine が動くようになりました。
97 2 Mitsuyoshi Yoshida
ただし、 development モードでかつ WEBrick を使っているとなるとかなり遅いですが、そこは我慢しましょう。
98
99 1 Mitsuyoshi Yoshida
----
100 2 Mitsuyoshi Yoshida
101
| [[プラグイン開発ガイド|^]] | [[GuideIntro|<<]] | [[GuideRails|>>]] |