プロジェクト

全般

プロフィール

GuideDevEnv » 履歴 » リビジョン 7

リビジョン 6 (NAITOH Jun, 2013/03/06 22:18) → リビジョン 7/9 (NAITOH Jun, 2013/03/09 08:56)

h1. プラグインの開発環境の準備 

 プラグインの開発をしようとした場合、実際に稼動している Redmine でプラグインを作って試すのは危険が大きいです。まずはプラグイン開発のための環境を準備しましょう。 

 実際の Redmine の運用は Linux などで行うことが多いと思いますが、 Redmine は Windows 環境でも動作します。やはり、簡単に用意できるは Windows の PC ですし、自分で使うだけなら Windows の Redmine でも十分です。私もプラグインを作る時は自分の PC で行い、確認してから実際の Redmine にインストールしています。 
 そこで、開発環境には Windows 上の Redmine を使うことにして、その構築方法を説明をしていきたいと思います。ただし、 Redmine を立ち上げる方法はすでにいろんなサイトで紹介されているので、開発用の環境にポイントを絞っています。 

 通常の Redmine のインストール方法の説明については他のサイトを参考にしてください。以下のサイトなどがお勧めです。 

 * Redmine の本家 
 ** http://www.redmine.org/projects/redmine/wiki/RedmineInstall  
 * 本家の日本語訳 
 ** http://redmine.jp/guide/RedmineInstall/  
 * Windows 版のインストール 
 ** http://www012.upp.so-net.ne.jp/tanuki-project/install_redmine.html  



 h2. 開発用 Redmine のポイント 

 開発用の Redmine のポイントは 2 つです。 

 # development モードで起動する 
 # サーバ には WEBrick を使う 

 Rails では動作モードとして、 *production* モードと *development* モードが用意されています。実際に稼動する場合は production モードで動作させますが、開発に使う場合は development モードの方がちょっと便利です。 
 production モードでは動作を速くするため、一度読み込んだコードは覚えておいて、再度表示する場合はそれを使います。それに対して development モードの場合は、表示するたびに毎回読み込んでくれるので、変更を Redmine の再起動なしで確認することが出来ます。ただ、 *ちょっと* 便利と書いたのは後で説明しますが、全部即座に変更が適用されるわけではないので、意外と再起動は必要です。 
 ちなみに動作モードには test モードというのもあります。これはテストに使うものですが、このプラグインガイドでは test については書いてないので、説明については省略します。 Rails ではテストも簡単にできるのらしいですが、私は使ったことがありません。 

 実際に運用する場合はサーバには Apache などを使うと思います。しかし、これらのサーバの場合、エラーが発生したとき、ページに *Internal Error* とでるだけですが、 *WEBrick* を使っていると *詳細なエラーページ* が出てきてデバッグにかなり役に立ちます。 

 !webrick_err.png! 


 h2. 使用ソフト 

 |_. Redmine        |          | http://rubyforge.org/frs/?group_id=1850 | 
 |_. Ruby           | Rumix    | http://ruby.morphball.net/rumix/          | 
 |_. データベース | SQLite | http://www.sqlite.org/download.html       | 

 まず、Redmine の最新版をダウロードします。作成したプラグインを公開する場合にはなるべく最新版で確認する方がいいでしょう。 

 Ruby には、 ruby 本体と一緒にいろいろインストールしてくれる Rumix を使用します。 
 プラグイン開発ではコマンドラインで実行しなければならないことが多いので、特に nyacus というコマンドラインの実行をやりやすくするプログラムが役に立ちます。 
 インストールした ruby の gem を使って、 rails などの必要なライブラリなどをインストールすることになりますが、この ruby 自身や gem を使ってインストールするものはなるべく "本家のインストールページ":http://www.redmine.org/projects/redmine/wiki/RedmineInstall で確認して Redmine のバージョンにあわせたものにして下さい。 

 データベースは SQLite にしました。多分、 Redmine が対応するデータベースの中では Windows 上で一番簡単に動作させられると思います。 

 h2. gem パッケージのインストール 

 Redmine 1.4以降では gem パッケージの管理は "Bundler":http://gembundler.com/ で行われおり、 Gemfile の指定に従って必要な gem がインストールされます。 

 <pre> 
 $ gem install bundler 
 $ bundle install --without postgresql mysql rmagick 
 </pre> 

 使用しないデータベース( postgresql, mysql )を外してあります。 rmagick も今回は使用しませんので外しておきます。この without 指定は Gemfile に記載されている group 単位の指定になります。 

 


 h2. データベース設定 

 Rails では 1 つの Rails プログラムをモードを切り替えて動作させたとしても、他のモードに影響を与えないようになっています。そのため、データベースもモードごとに別々に設定するようになっています。 
 データベース設定は config/database.example.yml をもとに config/database.yml を作成します。開発は development モードで起動するので、 このとき development 用の設定を環境に合わせて記述します。 
 <pre><code class="yaml"> 
 development: 
   adapter: sqlite3 
   dbfile: db/redmine.db 
   timeout: 5000 
 </code></pre> 


 h2. データベースの作成 

 データベースの作成コマンドなども development 用にする必要があります。 
 Rails の起動モードの変更は RAILS_ENV という環境変数で行います。ただし、環境変数の設定されていないデフォルトの起動モードが development モードなので、 *"RAILS_ENV=production"* といった環境変数の設定を省略するだけです。 
 <pre> 
  $ rake generate_secret_token 
  $ rake db:migrate  
  $ rake redmine:load_default_data 
 </pre> 

 h2. サーバの起動 

 WEBrick で Redmine を起動します。 
 こちらも *"-e production"* の環境変数の設定を省略します。 
 <pre> 
  $ rails server 
 </pre> 

 起動後 <notextile>http://127.0.0.1:3000/</notextile> にアクセスしてください。Windows の場合、 <notextile>http://localhost:3000/</notextile> だとアクセスできないことがあります。 
 最初は次のユーザでログインして下さい。 

 * login: admin 
 * password: admin 

 上手くログインできたら、開発環境の準備は完了です。これで自分の PC で Redmine が動くようになりました。 
 ただし、 development モードでかつ WEBrick を使っているとなるとかなり遅いですが、そこは我慢しましょう。 

 ---- 

 | [[プラグイン開発ガイド|^]] | [[GuideIntro|<<]] | [[GuideRails|>>]] |