2015年8月10日月曜日

JIRA と Confluence をインストール

開発ではずっとTracを使っていましたが、管理が微妙に大変なので JIRA と Confluence を導入しました。
選んだ理由は、他を寄せ付けない圧倒的な高評価でしょうか。  といっても私はTracとRedmineとbacklogとSharePointしか知りませんが、この中ではダントツです。


インストール環境
・CentOS 6.6
・MySQL 5.5
・JiraとConfluenceは64bitインストーラー版

JAVAサーバーのためか、メモリを非常に消費します。 2ギガだとスワップで数ギガ発生し、しまいには初期セットアップでこけます。

インストーラーはちょっと不親切で、マニュアルを見ながら行う必要があります。
といっても、解説サイトが大量にあるので、困る事も無いと思います。

もしメモリ不足等でウェブアクセス後の初期化に失敗した後に再インストールを行いたい場合は、設定ファイルを削除してください。
初期化するかしないかは、設定ファイルがあるかないかで決まります。
CentOSでデフォルトなら、
/var/atlassian/application-data/jira/confluence.cfg.xml
/var/atlassian/application-data/confluence/confluence.cfg.xml

DBの文字コードですが、マニュアルでは utf8-bin と書かれています。
おそらく古いMySQL用だとは思いますが、binが一番軽量なのでbinで作りました。
最近のなら、utf8mb4-general で構築するのが一番良い気がします。

mb4で4バイトの漢字に対応。 general で日本語ソートばっちし。
binだとバイナリコードでソートされてしまうため、場合によっては意図した順番にならずに面倒かもしれません。



そして実際に使ってみた感想。



今までやりたくてたまらなかったことが、できちゃう!
ワークフローやフォームの内容を条件で切り替えられるのがいいですね。Tracはこれが出来なくてカオスでした。
しかし設定多すぎて最初が大変。
表示を日本語(翻訳表示)に指定すると、若干の問題がある。


Tracのデータをインポート!

とりあえず、文字化けしました。 概要は化けていないのに、詳細とコメントが文字化けです。 DBの文字コードに問題なし。
面倒なので修正用のSQLをささっと作って修正しました。

詳細の修正は概要をキーにしてupdateかけるだけでいいので、簡単でした。
問題はコメントの修正です。キーにできるカラムが無い・・・・あった! 作成日をキーにしました。 同じ秒に投稿された記憶がないので、唯一の値とかってに決めました。
ただ、trac側はマイクロ秒のユニックスタイムなので、これを日時にコンバートさせないといけません。

UPDATE jira.jiraaction AS T1, trac.ticket_change AS T2 SET T1.actionbody = T2.newvalue WHERE T2.ticket >= 0 AND T2.ticket < 1000 AND T2.field = 'comment' AND T1.CREATED = from_unixtime(TRUNCATE(T2.time/1000000 ,0));

T2.ticket >= 0 AND T2.ticket < 1000 は、量が多すぎるので分割しました。 やっと終わったと思ったらエラーになっていたので・・・。
T2.time/1000000 は、マイクロ秒を秒に変換で、TRUNCATEで小数点以下を切り捨て、from_unixtimeで日付フォーマット。

無事、全てのチケットが表示されるようになりました。
ただし、更新ログ系はまた別なので、ばけたままです。 どうでもいいので放置します。