deploygate
転記元: Yukiの枝折 - gradleからdeploygateへアップロードする
Get Started.
- Projectルート直下にあるbuild.gradleにclasspathを追加.
- Moduleのbuild.gradleにdeploygate taskを追加.
- deploygate taskのパラメタをカスタマイズ
-
gradle uploadDeployGate
でアップロード
Edit build.gradle
Projectルート直下にあるbuild.gradleにあるclasspathに下記を追加する.
dependencies {
// ...
classpath 'com.deploygate:gradle:0.6.2'
}
NOTE: Module直下のbuild.gradleではない
Module直下にあるbuild.gradleにdeploygate taskを追加する.
deploygate taskのテンプレートは下記.
apply plugin: 'deploygate'
deploygate {
userName = "[owner name]"
token = "[token]"
apks {
release {
sourceFile = file("[apk1 file path]")
}
debug {
sourceFile = file("[apk2 file path]")
//Below is optional
message = "test upload2 sample"
visibility = "public" // default private
distributionKey = "[distribution_key]"
releaseNote = "release note sample"
}
}
}
各パラメータに指定する情報は下記サイトを参照.
https://deploygate.com/docs/api
Param | Description |
---|---|
owner | アプリの所有者名. Endpoint APIパスの一部で使用される. |
token | API Key. |
sourceFile | アップロードするアプリバイナリ. |
message | Push時に付与するメッセージ(optional) |
visibility | 新たにアップするアプリのプライバシー設定(optional) |
deploygateのEndpoint api uriは次のフォーマットに従う.
https://deploygate.com/api/users/[owner name]/apps
owner name
は自身のdeploygateユーザページから確認できる.
token
には発行されているAPI Keyを指定する. API keyはプロフィール設定から確認可能.
sourceFile
にはアップロードするapkバイナリのパスを指定する.
message
には任意のメッセージを設定できる. このメッセージはテスタにも公開される.
visibility
アプリを新たにアップロードする際に指定できる公開設定. publicかprivate(default)を指定可能. この値は新しくアプリをアップロードする場合に参照され, アプリ更新時には無視される.
token
を直接build.gradleに記載しないため, 環境変数やlocal.propertiesを読み込む方法をとるのが一般的である.
下記はlocal.properties
に追加したプロパティdev.key.deploygate
をtokenとするサンプル.
deploygate {
// load local.propertis
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
userName = "yuki312"
token = properties.getProperty('dev.key.deploygate')
apks {
release {
sourceFile = file("./build/outputs/apk/app-release.apk")
}
debug {
sourceFile = file("./build/outputs/apk/app-debug.apk")
//Below is optional
message = "test message"
visibility = "public" // default private
}
}
}