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

前回の[iOSアプリ用のCI環境を作ろう](http://qiita.com/kou_hon/items/51dda72ad62c0c03a720)に引き続き、今回もbitriseです。
今回はAndroid開発用のCI環境を作ります。

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

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

```lang: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でアクセス出来るようにしておきます。

```lang:転送コマンド
#!/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のアカウント作成
端折ります。詳細は[こちら](http://qiita.com/kou_hon/items/51dda72ad62c0c03a720#bitrise%E3%81%AE%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E4%BD%9C%E6%88%90)を御覧ください。
#GitHubとBitriseを連携
「Add new App」から〜「Configure it manually」まではiOSと変わらないので[こちら](http://qiita.com/kou_hon/items/51dda72ad62c0c03a720#github%E3%81%A8bitrise%E3%82%92%E9%80%A3%E6%90%BA)を御覧ください。
##Project build configuration
![project_build_configuration_android.png](https://qiita-image-store.s3.amazonaws.com/0/21998/0aa42727-d8b5-f282-b20b-637141c6a268.png)
「Branch:」にはビルドするブランチ名、「Gradle file path inthe repository:」にはプロジェクトフォルダにあるbuild.gradleファイルの相対パス、「Grable task」にはビルドするモードを設定します。
「Grable task」についてはDebugでビルドするので「app:assembleDebug」と設定します。
詳しくは[こちら](https://sites.google.com/a/android.com/tools/tech-docs/new-build-system/user-guide#TOC-Android-tasks)(注:英文)を御覧ください。
最後に「I'm ready」をクリックします。
##「Webhook setup」から「Triggers」までの設定について
「Code singing & Files」でiOSではプロビジョニングファイルと秘密鍵(p.12)ファイルを設定しましたがAndroidでは特に何も設定はしません。
その他はiOSでの設定と変わりません。詳しくは[こちら](http://qiita.com/kou_hon/items/51dda72ad62c0c03a720#github%E3%81%A8bitrise%E3%82%92%E9%80%A3%E6%90%BA)を御覧ください。
##「Gradle Unit Test」の追加
「Workflow editor」をクリックします。
![workflow_editor.png](https://qiita-image-store.s3.amazonaws.com/0/21998/725b7603-b2a1-2dd1-790c-d8e71eec812f.png)
「Git Clone Repo...」の下の＋ボタンをクリックします。
![gradle_unit_test_add_step.png](https://qiita-image-store.s3.amazonaws.com/0/21998/7a6a06c6-7ce8-0a91-e09f-172b45929697.png)
「Gradle Unit Test」の「ADD TO WORKFLOWS」をクリックします。
「Git Clone Repo...」の後に「Gradle Unit Test」が追加されます。
![gradle_unit_test_added.png](https://qiita-image-store.s3.amazonaws.com/0/21998/88a22070-705a-89d7-ab5c-1cfe4d7af501.png)
#BitriseとDeploygateを連携
端折ります。詳細は[こちら](http://qiita.com/kou_hon/items/51dda72ad62c0c03a720#bitrise%E3%81%A8deploygate%E3%82%92%E9%80%A3%E6%90%BA)を御覧ください。
#BitriseとSlack連携
端折ります。詳細は[こちら](http://qiita.com/kou_hon/items/51dda72ad62c0c03a720#bitrise%E3%81%A8slack%E9%80%A3%E6%90%BA)を御覧ください。
#まとめ
今回は駆け足で手順をご紹介しましたが、iOSの時と同様最低限の設定です。
いろいろいじって充実させていきたいと思います。
#最後に
***アクトインディでは[エンジニアを募集](http://www.actindi.com/recruit/programmer)しています！！！***
もちろん、スマフォアプリエンジニアも募集しています！！！
[Androidアプリをつくりたい！250万組の親子を笑顔に！！](https://www.wantedly.com/projects/15947?ql=gaJpZM4AFTUI)
[iOSアプリをつくりたい！250万組の親子を笑顔に！！](https://www.wantedly.com/projects/913?ql=gaJpZM4AFTUI)