端末にUSBケーブルつないでデバッグビルドをインストール、とかしんどい。
TravisCIを使ってGitHubにpushする度にDeployGateにデバッグ版のビルドがデプロイされるように設定しました。
gradleからDeployGateへのデプロイ
build.gradle
にDeployGateの設定を追記し、gradleからDeployGateへのデプロイをできるようにしておきます。
DeployGateのトークンは環境変数から読み込むように設定。
あとuploadDeployGateDebug
タスクはassembleDebug
タスクに依存するように設定、./gradlew uploadDeployGateDebug
コマンドだけでデプロイできるように。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
classpath 'com.deploygate:gradle:0.6'
}
}
apply plugin: 'android'
apply plugin: 'deploygate'
deploygate {
userName = "$System.env.DEPLOYGATE_USER"
token = "$System.env.DEPLOYGATE_TOKEN"
apks {
debug {
sourceFile = file("${project.buildDir}/apk/bookscan-manager-debug-unaligned.apk")
}
}
}
uploadDeployGateDebug.dependsOn assembleDebug
Travis CIにDeployGateのトークンを設定
Travis CIのSecure environment variablesにしたがってDeployGateのトークンを暗号化して登録
$ gem install travis
いろいろ
$ cd my_project
$ travis encrypt DEPLOYGATE_TOKEN=1234567890
Please add the following to your .travis.yml file:
secure: "aRFPOfnpvnbgJprVgEEpWDrxhTE/qxf2i5GdwIGtXRuYMUzG9T5Lzg/BIlcu4v+r3hrt2MQJMCcqQXlM5gvrjWhQLSBLpZ1dGSU+E9duYq3Rt9+ML9X+6vBn3+VEQe9k8fN+m0xY6WnWnOAKvqfE8CIvpjiGou06SVNhaWuWJjE="
Pro Tip: You can add it automatically by running with --add.
.travis.yml
にDeployGateの設定を追記
.travis.yml
でDeployGateのユーザIDと(上記コマンドで暗号化された)トークンを環境変数に設定。
language: android
env:
global:
- DEPLOYGATE_USER=hogelog
- secure: "aRFPOfnpvnbgJprVgEEpWDrxhTE/qxf2i5GdwIGtXRuYMUzG9T5Lzg/BIlcu4v+r3hrt2MQJMCcqQXlM5gvrjWhQLSBLpZ1dGSU+E9duYq3Rt9+ML9X+6vBn3+VEQe9k8fN+m0xY6WnWnOAKvqfE8CIvpjiGou06SVNhaWuWJjE="
script:
- ./gradlew uploadDeployGateDebug
GitHubにプッシュ、Travis CIからDeployGateにデプロイ
GitHubのリポジトリとTravis CIを連携させてから上記.travis.yml
をコミットしてプッシュ。
すると以下のようにTravis CIが動き始める。DEPLOYGATE_TOKEN
も不思議文字列から復号できており、Travis CIからDeployGateへデプロイできていました。
備考
上述した設定などは https://github.com/hogelog/android-bookscan-manager に含まれています。