3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ReluxAdvent Calendar 2018

Day 3

deploygateにapkをコマンドでアップロード

Last updated at Posted at 2018-12-02

Reluxでは、開発版アプリの動作確認にdeploygateを利用しています。
今まではAndroidStudio上の操作でapkを作成し、deploygateへのアップロードは手動でやっていましたが、作業の効率化とCI導入を見据えて一連の作業をコマンド化しました。

SigningConfigs

まずはapp/build.gradleにsingingConfigsの設定を追加します。

app/build.gradle
    signingConfigs {
        release {
            storeFile file("./product.keystore")
            storePassword  properties.getProperty("RELEASE_STORE_PASSWORD")
            keyAlias properties.getProperty("RELEASE_KEY_ALIAS")
            keyPassword properties.getProperty("RELEASE_KEY_PASSWORD")
        }
    }

RELEASE_STORE_PASSWORD等の情報は、ここではlocal.propertiesに記載して読み込む形になっていますが、gradle.propertiesに記載したり、ディレクトリきってgradleファイルを外出しするなど、プロジェクト管理方法にあわせて変更してください。

signingConfigsを追加したら、buildTypesでreleaseのsigningConfigを設定します。
リリース版と開発版を同じ端末に同居できるように、applicationIdSuffixなどもbuildTypesに記載しています。

app/build.gradle
    buildTypes {
        debug {
            applicationIdSuffix = ".dev"
            manifestPlaceholders = [appName: "@string/app_name_dev"]
        }
        release {
            signingConfig signingConfigs.release
        }
    }

ProductFlavor

Reluxではログの出力やAPIの向き先切り替え機能などの開発機能の有無を、buildConfigFieldを利用して切り替えています。
deploygateにアップロードするapkは、開発版専用機能はもたせつつ署名やアプリ名等の情報はリリース版と揃える(buildType.release)形にするため、ProductFlavorを活用します。
そんな要求ないよという場合は以下は不要です(^^)

app/build.gradle
    productFlavors {
        dev {
            buildConfigField "boolean", "DEVELOPMENT_MODE", "true"
        }
        production {
            buildConfigField "boolean", "DEVELOPMENT_MODE", "false"
        }
    }

これでBuildVariantsを「devRelease」とすることで、上記要求を満たせるようになりました。

deploygateへのアップロード

deploygateへのアップロードは、deploygate-cliを利用します。
まずコンソールで以下のコマンドを実行しインストールします。

curl -sSL https://deploygate.com/cli/install/e154b207 | bash

プロジェクト直下に移動し、下記のコマンドでアップロードを行ないます。
userオプションは、deploygateでのアカウントが単一の場合は不要です。

dg deploy --user デプロイゲートユーザー名 --message 'メッセージ'

初回アップロード時は、deploygateプラグインをプロジェクトにインストールするかどうか聞かれます。インストールを許可するとgraldeファイルに自動で追記されます。

続いてBuildVariantを聞かれます。

Looking for DeployGate tasks...
1. relux:uploadDeployGateDevDebug
2. relux:uploadDeployGateDevRelease
3. relux:uploadDeployGateProductionDebug
4. relux:uploadDeployGateProductionRelease
Please choose a task to run:

ReluxはdevReleaseにしたいので、「2. relux:uploadDeployGateDevRelease」を選択します。

以上、簡単アップロードでした (^o^)/

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?