LoginSignup
19
17

More than 5 years have passed since last update.

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

Posted at

前回の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万組の親子を笑顔に!!

19
17
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
19
17