Posted at

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

More than 3 years have 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万組の親子を笑顔に!!