Android
CI
Bitrise

Androidアプリ開発用のCI環境を作ろう

More than 1 year has passed since last update.

前回のiOSアプリ用のCI環境を作ろうに引き続き、今回もbitriseです。
今回はAndroid開発用のCI環境を作ります。

以下の構築手順でCI環境を構築すればGitHubのmasterブランチにソースがマージされたら、それをトリガーにBitriseがソースをクローン、テスト、ビルド(debugモード)、アーカイブを作ってDeployGateへデプロイ、slackへ結果を通知する環境が出来上がります。

構築前の準備

build.grableの編集

プロジェクトにデバッグ用の証明書であるdebug.keystoreファイルを追加して、build.grableに以下の証明書に関する設定を追加します。

build.grable
android{
・
・
・
    signingConfigs{
        debug{
            storeFile file("keystore/debug.keystore")
            storePassword "android"
            keyAlias "androiddebugkey"
            keyPassword "android"
        }
        release{
            storeFile file("keystore/release.keystore")
            storePassword "hogehoge"
            keyAlias "fugahoge"
            keyPassword "fugafuga"
        }
    }
・
・
・
}

Deploygate転送コマンドの用意

DeployGateにビルドしたファイル(apkファイル)を転送するコマンドを書いたファイルをWebでアクセス出来るようにしておきます。

転送コマンド
#!/bin/bash
curl -F "file=@/bitrise/deploy/app-debug.apk" -F "token=[トークン番号]" -F "message=$GIT_CLONE_COMMIT_MESSAGE_SUBJECT $GIT_CLONE_COMMIT_MESSAGE_BODY" https://deploygate.com/api/users/[ユーザID]/apps

Bitriseのアカウント作成

端折ります。詳細はこちらを御覧ください。

GitHubとBitriseを連携

「Add new App」から〜「Configure it manually」まではiOSと変わらないのでこちらを御覧ください。

Project build configuration

project_build_configuration_android.png
「Branch:」にはビルドするブランチ名、「Gradle file path inthe repository:」にはプロジェクトフォルダにあるbuild.gradleファイルの相対パス、「Grable task」にはビルドするモードを設定します。
「Grable task」についてはDebugでビルドするので「app:assembleDebug」と設定します。
詳しくはこちら(注:英文)を御覧ください。
最後に「I'm ready」をクリックします。

「Webhook setup」から「Triggers」までの設定について

「Code singing & Files」でiOSではプロビジョニングファイルと秘密鍵(p.12)ファイルを設定しましたがAndroidでは特に何も設定はしません。
その他はiOSでの設定と変わりません。詳しくはこちらを御覧ください。

「Gradle Unit Test」の追加

「Workflow editor」をクリックします。
workflow_editor.png
「Git Clone Repo...」の下の+ボタンをクリックします。
gradle_unit_test_add_step.png
「Gradle Unit Test」の「ADD TO WORKFLOWS」をクリックします。
「Git Clone Repo...」の後に「Gradle Unit Test」が追加されます。
gradle_unit_test_added.png

BitriseとDeploygateを連携

端折ります。詳細はこちらを御覧ください。

BitriseとSlack連携

端折ります。詳細はこちらを御覧ください。

まとめ

今回は駆け足で手順をご紹介しましたが、iOSの時と同様最低限の設定です。
いろいろいじって充実させていきたいと思います。

最後に

アクトインディではエンジニアを募集しています!!!
もちろん、スマフォアプリエンジニアも募集しています!!!
Androidアプリをつくりたい!250万組の親子を笑顔に!!
iOSアプリをつくりたい!250万組の親子を笑顔に!!