Redmineのヘビーユーザではないのですが、Redmine勉強会に参加してきました。「ブログに書くまでが勉強会」ということで、雑記ながらログを残しておきます。それにしても大き過ぎず小さ過ぎずのいい勉強会でした。
30分ぐらい遅刻したので最初のyandodさんの発表は聞き逃してしまいました。
Redmine活用術 - 孤独なシス管の記録
kirara_397さん
- Tracはプロジェクトが複数ある場合に管理が大変だったのでRedmineに移行した
- 「トラブル」「要望」「タスク」等にカテゴライズ
- rails環境を構築するまでがそこそこ大変
- カレンダーやガントチャートがプロジェクト毎でしか表示できない→統合表示したい…
- Excel管理に慣れている人には壁があって理解されない…
活用する上で工夫したポイント
- 用語を分かりやすくした(チケット=課題など)→Redmineの日本語化ファイルを変更するだけ
- ActiveDirectoryアカウントでログインできるようにした→LDAPでもログインできる
- Windowsなのでサービス化した(mongrel_service)
人生も1つのプロジェクトである
- RedmineでGTD
- 【元ネタ】Web2.0ナビ:意外と使われていない「個人用trac」活用のすすめ
- 「世界Redmine」構想→”Redmedia”
Redmineの現実的な利用法
tsuyoshikawaさん(資料)
夢
現実
- 工程管理には向いてないので、そこは結局Excelでガントチャート
- PukiWIki書いてた
- 使ってたのはプログラマだけ
Redmineはコミュニケーション促進ツール
- チケット
- 文書
- ニュース
- Wiki
- リポジトリ
- 通知
- メール、RSS
チケット
- 「分類」って属性だけ追加
- チェンジセットまぁ便利 (ref #n, fix #n)
- カスタムクエリまあ便利
ニュース
- リーダーとしての方針を伝える
- プロジェクトの大きな変化(遅延など)を知らせる
文書
Wiki
- いらない子w
- PukiWiki記法に慣れてるし
- ソースのせる用のテンポラリ領域として使用
リポジトリ
活動
- 全ての活動ログ
- 一番大事
- アクティビティ・ストリーム
- さぼっている人が一発でわかるw
まとめ
- ウォーターフォールの工程管理には向いていない
- 使い方はかなり自由度が高いので、ルール最低限でとにかく使わせてみましょう
- 大事なのは活動をRSS登録すること
完璧なRedmineなど存在しない
junoさん(資料)
18 projects
1,696 tickets
22 users
なぜTracをやめたか
→管理画面の機能が貧弱
Redmine移行にあたってやったこと
- マニュアルの作成
- 段階的な導入(走っているプロジェクトはTracのまま)
- 自分が率先して使う
Textile記法ないわー
- Markdownが使いたい(WordPressでも使ってる)
- Markdown Extraが使いたい。redmine_markdown_extra_formatterというのがある
CSVで一括インポート
- PMからの要望 (Excel派)
- redmine_importer
- ExcelRedmineAddIn
楽しく利用してもらうための細工
- ユーザーアイコン
- Gravatarを利用する。デフォルトで使える。ユーザが自由に画像を変更できる。ただしメールアドレスをGravatarに登録する必要がある
- Local avatars Pluginを利用する。これだと画像はRedmineサーバ上に格納される
他にも
- favicon.icoをちゃんと作る
- グラフィカルなプラグイン(Gompertanなど)
- スニペット共有プラグイン(redmine_codebook)→検索の対象にならないのがネック
パッチのプラグイン化
- 通知メールのSubjectを変更する。UTF-8で長いSubjectのメールが文字化けする
- バージョンアップのたびにソースを直す必要がある
- 参考文献:Plugin Tutorial、Plugin Internals(こっちがいい)
- alias_method_chainを使いこなすことがポイント
LT – CSVユーザー一括登録プラグインを作ってみた話
shrkwさん(資料)
BTS使用歴
Ruby歴2日目だったが、Redmineのほうがrailsにのっかっている分、Tracよりプラグイン作りやすい。
ってかRedmineでCSVのユーザ情報をまとめて登録するスクリプトのエントリーが紹介されていた!!
ユーザを一発で登録できるプラグインを作成したので、そのデモ。
懇親会
中華料理屋にて懇親会。自分たちのテーブルはおそらく一番Redmineを使っていない人たちが集まったテーブルのようでした。「言語は何使ってる?」「DBはMySQL派?ポスグレ派?」「OSは?」「バージョン管理は?Git?SVN?」みたいな会話が飛び交い、Redmineの話はほとんどしませんでしたw あと、意外に影舞ユーザが多いことが判明したのも大きな収穫でした。ほら、任天堂でも影舞が使われているらしいし…やっぱりシンプルなものが受け入れられるのだなぁと。
雑感
- 「活動」は自分の作業報告をする上でうまく使えたらいいなぁと
- みんなRedmineを改造して使っているということがわかって、それが邪道な使い方じゃないんだなぁとわかったのがよかったです。そういう意味では、「モンキーパッチをプラグイン化してRedmine本体のバージョンアップに備える」というjunoさんの路線はすごくいい気がしました。
- Redmineはデザインにもっと良くした方が… ってことを言っている人がいて全く同感でした
- あとはRedmine本家の開発体制が「独裁主義なんじゃ」という話がありました。実際のところメインの人以外でコミッターっているのでしょうか…
Web上からチマチマ登録するのもあれだったので、CSVのユーザ情報を一括で users テーブルにぶち込むためのスクリプトを作りました。作った後にタイムゾーンとかの設定が users テーブルじゃなくて user_preferences にあることを知りましたが、あまり細かいことを追求する時間はなかったので、とりあえずcodereposにアップしました。ご自由にお使い下さい。
Redmine(というかRails)的にこういう類のスクリプトをどこに保存するべきかわからなかったので、codereposには platform/redmine/contrib というディレクトリをでっち上げています。「作法的にはここだろ」というものがあれば教えてもらえると嬉しいです。
Railsは ver 1.2以来さわっていなかったのですが、ActiveRecordは以外に変わっていなかったのですんなり書けました。でもPerl の手癖が抜けなくて 変数宣言に my つけたり、行末にセミコロンつけたり(これは動くけど)で大変でした。
はじめに – Phusion Passengerとは
Redmine 0.8.0をインストールの記事を書いた直後に0.8.1がリリースされていたので、アップデートがてらPhusion Passengerを使ってApacheでRemineを動かしてみたいと思います。Phusion Passengerとは、別名mod_railsとも呼ばれるApacheモジュールとして実装されたRailsの実行環境で、インストールや設定が簡単なのが特徴です。
Phusion Passengerのインストール
まずは passenger をビルドするために Apache の apxs などをインストールしておきます。例によって環境は Ubuntu 8.10 です。
$ su -
# aptitude install apache2-dev ruby1.8-dev
# export APXS2=/usr/bin/apxs2
終わったらpassengerのインストールです。といっても以下のコマンドを実行するだけですが。
# gem install passenger
# passenger-install-apache2-module
インストールが完了すると下記のように Apache の httpd.conf に書き込む設定内容が表示されるので、これを /etc/apache2/sites-available/default にコピペします。
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6
RailsRuby /usr/bin/ruby1.8
あとは DocumentRoot を Redmine のインストールディレクトリ下の public に設定します。
Redmineが/var/www/redmineにインストールされている場合は
DocumentRoot /var/www/redmine/public
と設定します。なお、DocumentRoot を /var/www に設定しておき、http://localhost/redmine/ のように Redmine をサブディレクトリとして扱いたい場合は以下のようにRedmine のインストールディレクトリにシンボリックリンクを張ります。
# ln -s $REDMINE_ROOT/public /var/www/redmine
そして Apache の設定ファイルに
を追加します。これで /redmine/ のURLでアクセスできるようになります。
というわけで設定が終わったら Apache を起動してみましょう。
# /etc/init.d/apache2 restart
今回は http://ホスト名/redmine/ でアクセスしてみます。どうでしょう?RedmineのTOPページが表示されたでしょうか?404や403エラーになる場合、Apacheのエラーログが /var/log/apache2/error.log にあるので、これを見てみると原因が分かるかもしれません。
Passengerの詳細な設定項目についてはPhusion Passenger users guideに詳しく書いてあるので一読してみると良いと思います。
「使ってみないとその善し悪しはわかりません」ということで、プロジェクト管理ツールであるRedmineをインストールしてみました。Installing Redmine通りにやっても微妙にうまくいかなかったので備忘録がてらメモを残しておきます。環境はUbuntu 8.10 + MySQL 5.0.67です。
事前準備
- Ruby 1.8.6 – 今回はUbuntu の 1.8.7 (2008-08-11 patchlevel 72) を使いました
- RubyGems 1.3.1
- Rake 0.8.3
- openssl
- RMagick
が必要です。まずはRubyGemsをダウンロードして解凍してインストールしましょう。
これがおわったらgemsでRakeをインストールします。
あとは openssl と rmagickです。
$ sudo aptitude install libopenssl-ruby librmagick-ruby
これで準備完了です!
Redmineのインストール
RubyForgeから0.8.0をダウンロードして解凍します(できたディレクトリを便宜上 $REDMINE_ROOT とします)。そして空のデータベースを作成しておきます。本家のドキュメントではproductionのDBしか作ってないですが、development, testも作っておくとよいでしょう。
mysql> create database redmine character set utf8;
mysql> create database redmine_development character set utf8;
mysql> create database redmine_test character set utf8;
DBを作成したら $REDMINE_ROOT/config/database.yml.example を database.yml としてコピーし、以下のように編集します。
--- config/database.yml.example 2008-12-30 19:09:27.000000000 +0900
+++ config/database.yml 2009-02-11 12:13:15.000000000 +0900
@@ -10,25 +10,28 @@
adapter: mysql
database: redmine
host: localhost
encoding: utf8
+ socket: /var/run/mysqld/mysqld.sock
development:
adapter: mysql
database: redmine_development
host: localhost
encoding: utf8
+ socket: /var/run/mysqld/mysqld.sock
test:
adapter: mysql
database: redmine_test
host: localhost
encoding: utf8
+ socket: /var/run/mysqld/mysqld.sock
test_pgsql:
adapter: postgresql
socket: /var/run/mysqld/mysqld.sock を足しているのは、何も設定しないと rails が/tmp/mysql.sock を参照するようになっていて、UbuntuのMySQLの設定とかみ合っていないからです。また、このsocketのパスは人によってはカスタマイズしているかもしれないので、うまくいかない場合は /etc/mysql/my.cnf を参照し、そこで指定しているパスと同じものを指定するようにしてください。また、username/password もデフォルトから変えている場合は、それも合わせて database.yml に変更を加えてください。
次にデータベースの初期設定を行ないます。本家のドキュメントによると RAILS_ENV=”production” を指定するようになっていますが、今回はお試しなので development でやってみます。
$ rake db:migrate RAILS_ENV="development"
終わったら $REDMINE_ROOT/tmp/{files,log,tmp} ディレクトリのパーミッションを変更します。
$ sudo chmod -R 777 files log tmp
今回は説明を簡素化するために端折ってますが、本来なら 777 の設定はよろしくないので、真面目にやるのであれば Webサーバを実行するユーザがこれらのディレクトリを所有するように chown するのがよいでしょう。
あとはfcgiスクリプトをコピーして、サーバを起動します。
$ cp public/dispatch.fcgi.example public/dispatch.fcgi
$ ruby script/server
問題なくサーバが起動したら http://サーバ名:3000/ にアクセスしてみましょう。下記のような画面が表示されればインストール完了です。

使ってみた感想
さっくり30分ぐらい使ってみた感想としてはインターフェースが簡素ということでしょうか。すごく質素なページしか表示されないので、最初何をやればいいのかよくわかりませんでした。チケットの新規発行はトラッカーは設定してないと使えなかったりとか、真面目にドキュメントを読まないとわからなかったりするので、もう少し初心者向けのチュートリアルがRedmine自体に組み込んであると良いのかなと思いました。
Redmineがソフトウェアの開発管理を行う上で気になっていたので買って読んでみました。読み終わって思ったのはこれ、便利そう!ということ。似ているソフトウェアとしてはTracというものがありますが、Redmineが優れている点として
- SubversionなどのSCMの対応状況。Git, Mercurial, Bazaar, CVSにも対応している。
TracはSubversionのみ プラグインを入れることでTracでもこれらのSCMに対応できるようです。
- チケットの開始日・期限日・進捗率のデータからプロジェクトのガントチャートが自動で作れる。→これもTracではプラグインで実現できるようです。
というところでしょうか。個人的にこの手のソフトウェアに期待するのはチケット(BTS)のカスタマイズ製ですね。自分たちの業務フローにマッチさせることができるのかどうか。あとTracではソースコードレビューのためのプラグインがあるようなのですが、Redmineにはなさそうです。
で、この本自体はそんなRedmineの導入から使い方までを懇切丁寧に教えてくれる本です。この本を読んでいれば「試しに使ってみる」ことの敷居は非常に下がりますし、「機能とか調べるのにいちいち試してらんねーよ」という人にもお奨めな本だと思います。
2009/2/9:gitなどのSCMの対応やガントチャートの表示はTracでもプラグインを利用すれば実現可能なようです。その辺りの文章を修正しました。コードレビューのプラグインもあることを考えれば俄然Tracの方が良さそうな気がしてきました。
コメント