弊社では、Bitriseを利用してAndroidアプリのCI環境を構築しています。まだまだBitriseを利用している事例は少ないので、簡単にご紹介いたします。
なお、Bitriseを利用したiOSアプリのCI環境構築については、以下の記事で紹介しています。 techblog.lclco.com
前提条件
- Gradle(gradlew)でビルドができること
初期設定
まずは、新規作成〜ビルド(apkの作成)までの手順を紹介いたします。
アプリの作成
Bitriseでは、まずビルド等の対象アプリを登録する必要があります。 [Add new app] をクリックすると、ウィザード画面が表示されます。
以下のマニュアルに沿って、進めればよいので詳細は割愛します。
Creating your first App on Bitrise · Bitrise
Workflowの作成
アプリ作成後のWorkflowはデフォルトでは、このような状態になっています。この時点で、ビルドに必要な基本的な流れは網羅しています。
Gradleで実行するタスクは、以下の箇所で設定します。
上記のテキストボックスにタスクを直接入力してもよいですが、GRADLE_TASKという環境変数に設定することもできます。
環境変数の設定画面で、ビルドタスクを入力します。複数のビルドを実行する場合は、半角スペースで区切りで入力します。
ビルドする
以上で設定は完了で、あとは[Start a build] ボタンでビルドが行えます。
BitriseでSigned APKを作成する
keystoreファイルをBitrise上に登録することで、リポジトリにkeystoreファイルを保存することなく、Signed APKを作成できます。
keystoreファイルの登録
Workflowの[Code signing & Files]メニューから、ファイルをアップロードします。
ファイルをアップロードするとパスワード等の情報の入力画面になります。 必要な情報を入力し、[Save metadata]で保存します。
この画面で登録した情報は、各項目に記載されている環境変数( $BITRISED_ANDROID_XXX)でアクセスできます。
File Downloader Stepの追加
Bitrise上に登録したkeystoreファイルは、ビルド時にダウンロードが必要です。その為に、File Downloaderというステップを追加します。
今回は、Git Clone の Stepの後に追加します。(Gradle の実行前ならどの場所でも良いはずです)
続いて、 File Downloader Stepへ変数を設定します。
- Download source url には、 $BITRISEIO_ANDROID_KEYSTORE_URL を設定
- Download destination pathには、任意パスを設定(ここでは、$HOME/keystores/release.jks を設定)
build.gradleの編集
Bitrise上で登録したkeystoreを利用するように、signingConfigsを書き換えます。
signingConfigs { release { keyAlias System.getenv("BITRISEIO_ANDROID_KEYSTORE_ALIAS") keyPassword System.getenv("BITRISEIO_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD") storeFile file(System.getenv("HOME") + "/keystores/release.jks") // File Downloaderで指定したパス storePassword System.getenv("BITRISEIO_ANDROID_KEYSTORE_PASSWORD") } }
以上で完了です。Gradleでリリースビルドを行うと、Signed APKが生成できます。
まとめ
Bitriseを使えば、単純なビルド環境だけならすぐに用意できます。無料プランもありますので、CI環境未構築の方は、最初のステップとして是非利用してみてください。