LoginSignup
16
16

More than 5 years have passed since last update.

Atlassian SDKを入れてみる/開発用JIRAの起動

Last updated at Posted at 2014-04-22

やること / やらないこと

やること

追記 20140427

  • 本来はConfluenceの動作確認/プラグインを書いたりすることが目的ですが、AtlassianのSDKを使ってみることをまず第一にしています。
  • このため、Atlassianのチュートリアルに従い、最初はJIRAをベースに試しました。
  • Confluenceで実施したい方は、中盤で触れている起動コマンドを、下記のように修正して下さい。
    • atlas-run-standalone --product confluence

やらないこと

MacOS版をダウンロード

  • MacOSではインストーラーがあるので、そちらをダウンロード&実行。
  • うまく入ると、/usr/local/bin/ にパスが通った形でコマンドがインストールされます。
  • SDKの中には、専用のMaven2も一緒に入っています。
確認してみる
% atlas-version 

ATLAS Version:    4.2.20
ATLAS Home:       /usr/share/atlassian-plugin-sdk-4.2.20
ATLAS Scripts:    /usr/share/atlassian-plugin-sdk-4.2.20/bin
ATLAS Maven Home: /usr/share/atlassian-plugin-sdk-4.2.20/apache-maven
--------
Executing: /usr/share/atlassian-plugin-sdk-4.2.20/apache-maven/bin/mvn --version -gs /usr/share/atlassian-plugin-sdk-4.2.20/apache-maven/conf/settings.xml
Apache Maven 2.1.0 (r755702; 2009-03-19 04:10:27+0900)
Java version: 1.7.0_55
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x" version: "10.8.5" arch: "x86_64" Family: "mac"

% which atlas-version
/usr/local/bin//atlas-version

atlassian- で、どんなコマンドが入っているか確認してみます。

% atlas-

atlas-clean                            atlas-create-refapp-plugin-module
atlas-cli                              atlas-create-stash-plugin
atlas-clover                           atlas-create-stash-plugin-module
atlas-compile                          atlas-debug
atlas-create-bamboo-plugin             atlas-help
# etc...

チュートリアルに従ってみると?

こちらのチュートリアルに従ってやってみます。

% atlas-run-standalone --product jira
Executing: /usr/share/atlassian-plugin-sdk-4.2.20/apache-maven/bin/mvn com.atlassian.maven.plugins:maven-amps-plugin:4.2.20:run-standalone -gs /usr/share/atlassian-plugin-sdk-4.2.20/apache-maven/conf/settings.xml -Dproduct='jira'
[INFO] Scanning for projects...
Downloading: https://maven.atlassian.com/repository/public/com/atlassian/maven/plugins/maven-amps-plugin/4.2.20/maven-amps-plugin-4.2.20.pom
8K downloaded  (maven-amps-plugin-4.2.20.pom)
Downloading: https://maven.atlassian.com/repository/public/com/atlassian/amps/atlassian-amps-parent/4.2.20/atlassian-amps-parent-4.2.20.pom
16K downloaded  (atlassian-amps-parent-4.2.20.pom)
Downloading: https://maven.atlassian.com/repository/public/com/atlassian/pom/atlassian-public-pom/27/atlassian-public-pom-27.pom
2K downloaded  (atlassian-public-pom-27.pom)
Downloading: https://maven.atlassian.com/repository/public/com/atlassian/pom/atlassian-base-pom/35/atlassian-base-pom-35.pom
19K downloaded  (atlassian-base-pom-35.pom)
Downloading: https://maven.atlassian.com/repository/public/com/atlassian/maven/plugins/maven-amps-plugin/4.2.20/maven-amps-plugin-4.2.20.jar
380K downloaded  (maven-amps-plugin-4.2.20.jar)
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [com.atlassian.maven.plugins:maven-amps-plugin:4.2.20:run-standalone] (aggregator-style)
[INFO] ------------------------------------------------------------------------

… 中略 …
Downloading: https://maven.atlassian.com/repository/public/org/apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.jar
32K downloaded  (maven-filtering-1.0-beta-2.jar)
[INFO] [amps:run-standalone]
Would you like to subscribe to the Atlassian developer mailing list? (Y/y/N/n) [Y]: 

… 中略 …

[INFO] [2.ContainerStartMojo] Resolved container artifact org.codehaus.cargo:cargo-core-container-tomcat:jar:1.4.7 for container tomcat7x
[INFO] [talledLocalContainer] Tomcat 7.x starting...
[INFO] [stalledLocalDeployer] Deploying [/Users/takano/work/atlastutorial/amps-standalone/target/jira/jira.war] to [/Users/takano/work/atlastutorial/amps-standalone/target/container/tomcat7x/cargo-jira-home/webapps]...
[INFO] [talledLocalContainer] Tomcat 7.x started on port [2990]
[INFO] jira started successfully in 241s at http://dhcp245:2990/jira
[INFO] Type Ctrl-D to shutdown gracefully
[INFO] Type Ctrl-C to exit

何がおきたの?

コンソール出力に従って、http://localhost:2990/jira にアクセスしてみると、JIRAの画面が!
デフォルトのパスワードはadmin/adminなので、そのままログイン。

ダッシュボードには、プラグイン開発用ライセンスの旨が表示されています。

atlas-run.png

チュートリアルに従って、何が起きたか確認してみます。

  • atlas-run-standaloneは、Shell Script。実際は引数に応じてmvnが実行される。
  • amps-standaloneというディレクトリが作られる。
  • AtlassianのMavenリポジトリから、JIRAに必要なファイル一式がダウンロードされ、ビルド実行。
  • Tomcat7 (公式ドキュメントではTomcat6)も勝手にインストールされて、JIRAをdeploy。

ディレクトリを確認してみると、確かに出来ています。

% tree -L 3 amps-standalone
amps-standalone
└── target
    ├── container
    │   └── tomcat7x
    ├── dependency-maven-plugin-markers
    │   └── org.apache.tomcat-apache-tomcat-zip-windows-x64-7.0.40.marker
    ├── jira
    │   ├── bundled-plugins
    │   ├── home
    │   ├── jira-original.war
    │   ├── jira-plugin-test-resources.zip
    │   ├── jira.war
    │   ├── tmp-resources
    │   └── webapp
    └── jira-LATEST.log

9 directories, 5 files

じっさいに登録できる?

Webアプリケーションとしては、普通に操作できるようです。
せっかくなので、テストプロジェクトと、チケットを作成してみます。

jira-test.png

shutdownしてみると?

Ctrl+Dで、Mavenのプロセスを停止してみます。まずはJIRAがshutdownし、BUILDが終了。(FAILにはなりません)

[INFO] jira: Shutting down
[INFO] using codehaus cargo v1.4.7
[INFO] [cargo:stop {execution: virtual-execution}]
[INFO] [talledLocalContainer] Tomcat 7.x is stopping...
4 22, 2014 5:44:49 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
… 中略 …

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 161 minutes 42 seconds
[INFO] Finished at: Tue Apr 22 05:45:00 JST 2014
[INFO] Final Memory: 45M/276M
[INFO] ------------------------------------------------------------------------

評価用だから、停止してしまうとデータも消えちゃうのかな…とおもったのですが、そこは大丈夫。
もう一度、atlas-run-standalone を実行してJIRAを立ち上げると、ちゃんとチケットが表示されています。

jira-test2.png

データはどこにあるの?

atlas-run-standalone (実際にはmvn)で起動したJIRAは、データストアとしてHSQL DBを利用します。
HSQL DBはオンメモリで稼働するDBです。(だいぶ端折っての説明で申し訳ありません)
このため、プロセスを停止するとデータがクリアされてしまいます。

JIRAのHSQLに関する設定/データは、JIRA_HOMEに当たる場所にストアされます。
今回の場合は、atlastutorial/amps-standalone/target/jira/home 以下。

database.properties
#HSQL Database Engine
#Tue Apr 22 05:47:58 JST 2014
hsqldb.script_format=0
runtime.gc_interval=0
sql.enforce_strict_size=false
hsqldb.cache_size_scale=8
readonly=false
hsqldb.nio_data_file=true
hsqldb.cache_scale=14
version=1.8.0
hsqldb.default_table_type=memory
hsqldb.cache_file_scale=1
hsqldb.log_size=200
modified=yes
hsqldb.cache_version=1.7.0
hsqldb.original_version=1.8.0
hsqldb.compatible_version=1.8.0

設定ファイルにあるとおり、インメモリタイプとしての利用なので、shutdownしたら消えてしまうんじゃ…と思ったのですが、上記で確認した通りデータは消えずに残っています。

どうやら、caches/ 以下にデータが書き出されていて、それを起動時にロードしてくれているようです。
※ここは確認取れてないので、間違ってたらすみません…。

ログはどこを見ればいい?

コンソールにも表示されますが、今回の場合は、atlastutorial/amps-standalone/target/jira-LATEST.log にも書き出されます。

今回のまとめ

やったことは、下記の通り。

  • SDKのインストール。
  • 何を使って実行されるか野確認。(java, mavenでビルドし起動)
  • データや設定ファイルがどこに格納されるかの確認。

わたしは基本はRedmineのプラグインを書いたりしている身ですが、ご縁あってConfluenceやJIRAの評価をしています。
立場としては、Webアプリケーション管理者的な視点からではありますが、トラブル時に原因をさぐれるように、プラグインの追加や開発の方法を勉強したいと思っています。実際のコーディングは、たぶん大したものはできないとは思うのですが、今後も少しずつメモをアップしようと思います。

追記 / 更新

20151120: インストーラについて

20151120: atlas-runのビルド時に失敗する

これもMac版情報ですが、環境変数JAVA_HOMEを明示していない場合、atlas-runの処理で実行されるMaven (mvn) は、Macに標準でインストールされているJDKを利用します。(Java1.6系)

Oracleからダウンロードして最新版のJDKをインストールしても、JAVA_HOMEを明示していないと古いバージョンのJavaを利用しようとして、ビルドの途中で失敗します。

表示されるエラー:

due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com/atlassian/maven/plugins/amps/RunStandaloneMojo : Unsupported major.minor version 51.0

Javaのバージョンが合わないというメッセージです。

ただし、『最新版のJDKをインストールしているし、java -version でも最新版のバージョンが表示されているのになぜ?』の場合は、atlas-version コマンドで確認してみてください。

出力されるJava home、Java versionが古いバージョンになっている可能性があります。何も指定がない場合は、先のMacに標準でインストールされているJDKを見に行ってしまうからのようです。

いくつか方法がありますが、mavenのビルドだけに最新版を適用したい場合は、.mavenrcで指定できます。

$ ~/.mavenrc 
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_xx.jdk/Contents/Home

$ atlas-version 

ATLAS Version:    6.1.0
ATLAS Home:       /usr/local/Cellar/atlassian-plugin-sdk/6.1.0/libexec
ATLAS Scripts:    /usr/local/Cellar/atlassian-plugin-sdk/6.1.0/libexec/bin
ATLAS Maven Home: /usr/local/Cellar/atlassian-plugin-sdk/6.1.0/libexec/apache-maven-3.2.1
AMPS Version:     6.1.2
--------
Executing: /usr/local/Cellar/atlassian-plugin-sdk/6.1.0/libexec/apache-maven-3.2.1/bin/mvn --version -gs /usr/local/Cellar/atlassian-plugin-sdk/6.1.0/libexec/apache-maven-3.2.1/conf/settings.xml
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0
Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-15T02:37:52+09:00)
Maven home: /usr/local/Cellar/atlassian-plugin-sdk/6.1.0/libexec/apache-maven-3.2.1
Java version: 1.8.0_65, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.5", arch: "x86_64", family: "mac"

参考情報:

16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16