サーバ

JIRA 5.0.4 のインストール/アップデート(バージョン 4.4.3 から) #JIRA #atlassian

JIRA はAtlassian社のJava ベースの人気バグトラッキングシステムで、JBossApacheCodehausTwitterでも使われています。
とっつきやすさと高機能をうまく両立しており、また見た目が洗練されている素晴らしい製品です。
オープンソースプロジェクトへは無償ライセンスを提供してくれるので私のプロジェクトでも使っています

今回は4.4.3から5.0.4へのアップグレードをしました、新規インストールの手順もほとんど同じ。

1. 現行 JIRA のバックアップ、新規インスタンスでインポート
既存 JIRA インスタンスより、
ADMINISTRATION > Import & Export > Backup System
File name: jirabackup120514 > "Backup"

無事成功すると Data exported to:
/Users/yusukey/jirahome/export/jirabackup120514.zip
と表示されます。(JIRA4.4からはzipで圧縮されるようになった)
ここで現行インススタンスはシャットダウンします。

2. Atlassian より最新版をダウンロード
http://www.atlassian.com/software/jira/downloadより atlassian-jira-5.0.4.tar.gz をダウンロードします。

3. データベースの作成
ウチではMySQLを使っているので以下の様な感じ。

$ ./mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17958
Server version: 5.1.48 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database jira504 character set utf8;
Query OK, 1 row affected (0.04 sec)

mysql> Bye

以前データベースへのコネクションプールの設定は conf/server.xml 内にしていましたがこれはJIRAの管理画面から設定するように変更になりました。

4. JIRA Configuration Toolによるデータソース、JIRA_HOMEの設定
以前はatlassian-jira/WEB-INF/classes/entityengine.xmlを手動してデータベース接続先を指定していましたが、JIRA4.4以降ではJIRA Configuration Toolという簡単なGUIで設定をできるようになりました。Configuration Toolはbin/config.shまたはconfig.batで起動できます。
または初回起動後にWebUIで設定することもできるそうです。

Configuration Toolの画面

データベース接続の設定内容は $JIRA_HOME/dbconfig.xml に、またJIRA HOMEはatlassian-jira/WEB-INF/classes/jira-application.propertiesに保存され、手動で変更することも可能です。

ちなみにdbconfig.xmlの内容はこんな感じになります。

<?xml version=”1.0″ encoding=”UTF-8″?>

<jira-database-config>
<name>defaultDS</name>
<delegator-name>default</delegator-name>
<database-type>mysql</database-type>
<jdbc-datasource>
<url>jdbc:mysql://localhost:3306/jira443?useUnicode=true&amp;characterEncoding=UTF8</url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<username>yusukey</username>
<password></password>
<pool-size>15</pool-size>
<validation-query>select 1</validation-query>
</jdbc-datasource>
</jira-database-config>

以前はMySQLで文字化け対策としてJDBCURLに useUnicode=true&characterEncoding=UTF8 と指定していましたが、Configuration Toolは自動的にこれらを追加してくれるみたいです。

5. server.xmlの設定
ウチのサーバではApacheをフロントに立ててAJPで接続しているのでAJPコネクタをセットアップします。また使わないHTTPコネクタは無効に設定。


<Server port="9005" shutdown="SHUTDOWN">
.
.
.
<!--
<Connector port="8080"
.
.
.

</Engine>
<Connector port="9009"
maxHttpHeaderSize="8192" maxThreads="20" minSpareThreads="20" maxSpareThreads="20" useBodyEncodingForURI="true"
protocol="AJP/1.3" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="600000" disableUploadTimeout="true" />
</Service>
</Server>

6. JIRA_HOMEの設定
以前はユーザーのホームディレクトリ/jirahome をJIRAのホームディレクトリとして認識してくれた気がしますが、今回から明示的に指定する必要があるみたいです。
bin/setenv.sh の4行目に指定します

#
# One way to set the JIRA HOME path is here via this variable. Simply uncomment it and set a valid path like /jira/home. You can of course set it outside in the command terminal. That will also work.
#
JIRA_HOME=/Users/yusukey/jirahome/

7. JIRA の起動
startup.sh より起動。start-jira.sh というスクリプトもあるけど何が違うのかは不明。

8. データのインポート
JIRA にアクセスし、インポート。
Import Existing Data
File name: /Users/yusukey/jirahome/export/jirabackup120514.zip
エクスポート時はディレクトリが固定されていて入力できないのにインポート時はフルパスで入力する必要があります。

以前はインポートが進んでいるのか、実は裏でOutOfMemoryErrorが発生しているのかわかりませんでしたが今回からインポートの進捗状況が表示されるようになりました。便利!

インポート中の状況表示

9. アップグレード完了!
以上でバージョンアップが完了。

10. メールセッションの設定
以前、JIRA の管理画面からは Google Apps 等 SSL しか受け付けない SMTP サーバを設定することはできず、server.xmlにメールセッションというのを設定しておく必要があったのですが今回から(?) PROTOCOL: SECURE_SMTP というのを指定することで SSL で SMTP サーバに接続できるようになりました。

メールサーバの設定画面

関連記事:
JIRA 4.4.3 のインストール/アップデート(バージョン 4.4 から) #JIRA #atlassian – 侍ズム #samuraism
JIRA 4.4 のインストール/アップデート(バージョン 4.3.4 から) #JIRA #atlassian – 侍ズム
JIRA 4.3.4 のインストール/アップデート(バージョン 4.3 から) – 侍ズム
JIRA 4.3 のインストール/アップデート(バージョン 4.2.2 から) – 侍ズム
JIRA 4.2.2 のインストール/アップデート(バージョン 4.2.0 から) – 侍ズム
JIRA Git Plugin のインストール – 侍ズム
JIRA 4.2 のインストール/アップグレード(バージョン 4.1 から) – 侍ズム
JIRA 4.1 のインストール/アップグレード(バージョン 4.0.2 から) – 侍ズム
JIRA 4.0.0 から JIRA 4.0.2 へのアップグレード – 侍ズム
アトラシアン(Atlassian)製品の価格と購入方法
Atlassian が JIRA4 をリリース – 指名ユーザライセンス制を導入 – 侍ズム
JIRA 3.13.1 へ FishEye プラグイン 2.3 をインストール
JIRA をバージョン 3.13.1 へアップデート – 侍ズム
FishEye 1.6.3 のインストール
JIRA をバージョン 3.12.3 へアップデート