サーバ

JIRA をバージョン 3.12.3 へアップデート

自宅 JIRA をアップデートしました。
README に沿って作業しただけですがメモを残しておきます。
今回はアップデートですが、新規インストールの手順もほとんど同じです。

JIRA のバージョンは 3.9.2 から 3.12.3 へ、合わせて AP サーバは WebLogic Serve 8.1SP6 -> JBoss AS 4.2.2 へ移行しました。

1. Atlassian より最新版をダウンロード
http://www.atlassian.com/software/jira/JIRADownloadCenter.jspa
デフォルトではスタンドアロン版のみ表示されています。今回は自前の JBoss にデプロイするので "Show all" をクリックして Enterprise – WAR/EAR 版を表示、ダウンロード。

2. MySQL にデータベース作成
既存データベースに接続させることもできるけれども、最適なスキーマを作るには新規にデータベースを用意した方が良いとのことです。

create database jira312 character set utf8;

$JBOSS_HOME/server/$MYCONFIG/deploy 以下に以下のファイルを作成してコネクションプール/データソースを作成。
jira312-ds.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<datasources>
<local-tx-datasource>
<jndi-name>JIRA312DS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/jira312</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<connection-property name=”useUnicode”>true</connection-property>
<connection-property name=”characterEncoding”>UTF8</connection-property>
<user-name>USERNAME</user-name>
<min-pool-size>20</min-pool-size>
<max-pool-size>20</max-pool-size>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
</local-tx-datasource>
</datasources>

3. JIRA のデータソース設定
atlassian-jira-enterprise-3.12.3/edit-webapp/WEB-INF/classes/entityengine.xml を修正
接続 DB を hsql から mysql に、schema-name を削除。

99: <datasource name=”defaultDS” field-type-name=”hsql”
100: schema-name=”PUBLIC”

99: <datasource name=”defaultDS” field-type-name=”mysql”
100: <!–削除–>

atlassian-jira-enterprise-3.12.3/edit-webapp/WEB-INF/jboss-web.xml を作成。

<jboss-web>
<resource-ref>
<res-ref-name>jdbc/JIRADS</res-ref-name>
<jndi-name>java:/JIRA312DS</jndi-name>
</resource-ref>
</jboss-web>

これでローカルJNDI に jdbc:/JIRA312DS としてバインドされているデータソースをアプリケーションローカルの JNDI ツリーにリンクします。

atlassian-jira-enterprise-3.12.3/webapp/WEB-INF/web.xml を編集
以下をアンコメントてデータソースのリンクを有効にします。

<!– resource references –>
<!– Uncomment for WebSphere
<resource-ref>
<description>Database for JIRA</description>
<res-ref-name>jdbc/JIRADS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>SERVLET</res-auth>
<res-sharing-scope>Unshareable</res-sharing-scope>
</resource-ref>
Uncomment for WebSphere –>

4. Subversion プラグインの導入
http://confluence.atlassian.com/display/JIRAEXT/JIRA+Subversion+plugin
subversion-jira-plugin.properties を設定し、atlassian-jira-enterprise-3.12.3/edit-webapp/WEB-INF/classes/subversion-jira-plugin.properties に配置
atlassian-jira-enterprise-3.12.3/edit-webapp/WEB-INF/ に lib ディレクトリを作成し、atlassian-jira-subversion-plugin-0.10.3.jar、svnkit-1.1.6.jar を配置

5. Subversion プラグインインデックスの削除

rm -Rf ~/jiraindex/plugins/atlassian-subversion-revisions

これをしないと Subversion プラグインが以下のような例外を吐きます。
ちゃんとドキュメントに書いてあるんだけれども見落としててかなりハマった!!!

15:20:33,896 INFO [STDOUT] 2008-08-23 15:20:33,887 ajp-0.0.0.0-8009-6 ERROR [ext.subversion.projecttabpanels.SubversionProjectTabPanel] Error retrieving actions for project
java.lang.NumberFormatException: For input string: “117b7e0d-5933-0410-9d29-ab41bb01d86bhttp://localhost/svn”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:412)
at java.lang.Long.parseLong(Long.java:461)
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexer.getLogEntriesByProject(RevisionIndexer.java:659)
at com.atlassian.jira.plugin.ext.subversion.projecttabpanels.SubversionProjectTabPanel.getRecentCommits(SubversionProjectTabPanel.java:159)
.
.
.

6. warのビルド、デプロイ

atlassian-jira-enterprise-3.12.3$ ./build.sh war
Buildfile: build.xml

init:
.
.
.
Deployable WARs generated:

TOMCAT: atlassian-jira-enterprise-3.12.3/dist-tomcat/atlassian-jira-3.12.3.war
GENERIC: atlassian-jira-enterprise-3.12.3/dist-generic/atlassian-jira-3.12.3.war

See http://www.atlassian.com/software/jira/docs/latest/servers/ for install instructions
————————————————–

BUILD SUCCESSFUL
Total time: 3 minutes 20 seconds
$ mv dist-tomcat/tomcat-6/atlassian-jira-3.12.3.war $JBOSS_HOME/server/default/deploy/jira.war

7. 現行 JIRA のバックアップ、新規インスタンスでインポート
既存 JIRA インスタンスより、
ADMINISTRATION > Import & Export > Backup Data to XML
File name: バックアップ先/jirabackup.xml > "Backup"

新規インスタンスにアクセスし、インポート。
Import Existing Data
File name: /Users/yusukey/jirabackup.xml

以上でバージョンアップが完了しました。
見かけはほとんど変わりませんでした。

JIRA(バグトラッキングシステム), Confluence(Wiki) など Atlassian 社の製品は日本では代理店であるイマヒマ社より購入していただくことも可能です。
チームウェア – アトラシアン JIRA(ジラ):画期的な課題トラッキング! Confluence(コンフルエンス):企業向けウィキ