概要
Atlassian JIRA 7.2.2のソースコードをビルドし、WARファイルを作成するまでの手順をDokerで行う。
動機
Atalassian JIRAを購入すると、Atlassianに問い合わせることでソースコードを入手することができる。今回Atlassian JIRA7.2.2を入手し、早速ビルドすることになった。公式よりビルド手順は公開されているが、やってみると調査と検証が必要でかなり時間がかかってしまった。ここはビルド手順をコード化し、異なる環境においてもビルドできる様にしたい。そこで、ビルド手順をDockerを用いて行うことで、手順のコード化と自動化、更にはメンバーとの共有を図った。
手順
ファイル構成
以下の様な構成となる。
.
├── atlassian-jira-software-7.2.1-source
├── docker-compose.yml
├── entrypoint.sh
└── third-party-libraries
├── jms-1.1.jar
├── jmxri.jar
├── jmxtools.jar
├── jndi.jar
├── jta-1.0.1b.jar
├── mail.jar
└── ojdbc7.jar
atlassian-jira-software-7.2.1-source
はソースコードのディレクトリを示している。third-party-libraries
はライセンス制約のある第三者ライブラリを示している。別途準備が必要になるが、それは下記で述べる。
docker-compose.yml
とentrypoint.sh
についてはGithubに上げてあるので、そこから参照なり取得なりして欲しい。
ライセンス制約のある第三者ライブラリのダウンロード
ライセンス制約によりMavenより配布されていないライブラリは予めダウンロードする必要がある。公式のページに提示されたリンク先からダウンロードできるが、jta:1.0.1bについてはMavenのレポジトリの下記のページよりダウンロードできる(ライセンス制約があるはずでは…)。
Maven Repository: javax.transaction » jta » 1.0.1b
Dockerの実行
docker-composeコマンドで行うこと。