環境
bambooはインストール済みとする
さくらVPS ubuntu 14.04
AndroidStduioのプロジェクトを、適当なレポジトリに突っ込んでいる。
ビルドシステムはgradle
テストにはrobolectricを使用
Android関係あんま詳しくないから、複雑な環境だとどうだろ。
前準備
ひとまずビルドできる環境を整える必要がある
# add-apt-repositoryに必要
sudo apt-get install software-properties-common python-software-properties
# oracleのjavaを落とす
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java8-installer
sudo apt-get -y install oracle-java8-set-default
# 64bit版の場合はこれがないとビルドしくじる
sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1
AndroidSDKを落としてunzip
私は以下に解凍した
/home/bamboo/android-tool
cd /home/bamboo/android-tool/sdk/tools
# 必要なものを調べて…
./android list adk -a -e
# updateコマンドで入れる
./android update sdk -u -a -t 10
で、レポジトリ上のソースとかを、とりあえずビルドしてみて、ビルドが通るかを確認する。
とりあえず、AndroidStudio側で入れているツール郡を入れておけば間違いはない。
もしかしたらgradleとかも入れないとダメかも。
# 適当にプロジェクトをcloneなりしてVPS上に持ってくる
# Bambooを介さずビルドしてみて、正しくビルドできるかを確認しておく
cd .../android-project/hoge
./gradlew clean test
必要そうなものを都度落として、環境を整える…
ビルドが成功すれば、あとはBambooの設定となる
Bambooの設定
レポジトリを指定して、正しくチェックアウトできるか確認の後、
ScriptとJunitTestをタスクとして追加する
スクリプトは下記の通りとした
# !/bin/sh
# まずパス関係を設定する
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export PATH=/usr/lib/jvm/java-8-oracle/bin:$PATH
export CLASSPATH=.:/usr/lib/jvm/java-8-oracle/lib
export ANDROID_HOME=/home/bamboo/android-tool/sdk
# ignoring option MaxPermSize=256m; support was removed in 8.0を回避するためにJAVA_OPTSを設定(ここで結構コケました…)
export JAVA_OPTS="-Xms64m -Xmx128m -XX:MaxMetaspaceSize=128m"
./gradlew clean test
で、JUnit側には
test-results/*.xml
を指定してやって…あとはビルドが通るか確認。
おわり!