Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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^)/

kaikecchi
↓リカバリコードなくして入れなくなったやつ・・ https://qiita.com/yuto_aka_ike
loco-partners-inc
宿泊予約サービス「Relux」(https://rlx.jp)を運営する企業です。
http://loco-partners.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした