環境
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
を指定してやって…あとはビルドが通るか確認。
おわり!