JIRA はAtlassian社のJava ベースの人気バグトラッキングシステムで、JBossやApache、Codehausでも使われています。
とっつきやすさと高機能をうまく両立しており、また見た目が洗練されている素晴らしい製品です。
オープンソースプロジェクトへは無償ライセンスを提供してくれるので私のプロジェクトでも使っています。
今回は4.4から4.4.3へのアップデートをしました、新規インストールの手順もほとんど同じです。
1. 現行 JIRA のバックアップ、新規インスタンスでインポート
既存 JIRA インスタンスより、
ADMINISTRATION > Import & Export > Backup Data to XML
File name: jirabackup111123.xml > "Backup"
無事成功すると Data exported to: /Users/yusukey/jirahome/export/jirabackup111123.zip
と表示されます。(JIRA4.4からはzipで圧縮されるようになったみたい)
ここで現行インススタンスはシャットダウンします。
2. Atlassian より最新版をダウンロード
http://www.atlassian.com/software/jira/JIRADownloadCenter.jspaより atlassian-jira-4.4.3.tar.gz をダウンロードします。
3. データベースの作成
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 jira443 character set utf8;
Query OK, 1 row affected (0.04 sec)
mysql> Bye
データベースを作成したら、以前は conf/server.xml 内にコネクションプールの設定をしていましたがこれはJIRAの管理画面から設定するように変更になりました。なのでウチのサーバーでは&コンテクストパスを"/jira"に設定しただけです。
<Context path="/jira" docBase="${catalina.home}/atlassian-jira" reloadable="false">
4. JIRA Configuration Toolによるデータソース、JIRA_HOMEの設定
以前はatlassian-jira/WEB-INF/classes/entityengine.xmlを手動してデータベース接続先を指定していましたが、今回から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の内容はこんな感じになります。
<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&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 の起動
startup.sh より起動。start-jira.sh というスクリプトもあるけど何が違うのかは不明。
7. データのインポート
JIRA にアクセスし、インポート。
Import Existing Data
File name: /Users/yusukey/jirahome/export/jirabackup111123.zip
エクスポート時はディレクトリが固定されていて入力できないのにインポート時はフルパスで入力する必要があります。
以前はインポートが進んでいるのか、実は裏でOutOfMemoryErrorが発生しているのかわかりませんでしたが今回からインポートの進捗状況が表示されるようになりました。便利!
インポート中の状況表示
8. アップグレード完了!
以上でバージョンアップが完了。
9. メールセッションの設定
以前、JIRA の管理画面からは Google Apps 等 SSL しか受け付けない SMTP サーバを設定することはできず、server.xmlにメールセッションというのを設定しておく必要があったのですが今回から(?) PROTOCOL: SECURE_SMTP というのを指定することで SSL で SMTP サーバに接続できるようになりました。
メールサーバの設定画面
関連記事:
・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 へアップデート