モバイルアプリ向けCI・CDツールのBitriseの使い方を紹介します。
Bitriseとは
Bitriseはモバイルアプリ開発において、CI・CD(継続的インテグレーション・デリバリー)を実施するためのサービスです。
PaaSとして提供されているのでインフラの運用が不要で、基本的にUIで各種設定ができるためCI・CDツールの中でも導入しやすいツールです。
サンプルの構成
サンプルでは、Androidアプリのビルドからデプロイまでを行います。

ビルドはBitriseのビルド用のタスク、テストはJUnit、テスターへの配信はDeployGateを利用します。
なお、ソースコードはAndroidのアーキテクチャを検討するためのリポジトリであるAndroid Blue Print(todo-mvvm-live-kotlin)を用います。
Bitriseの使い方
準備
Bitriseで使用するサービスのアカウントを作成します。
この段階でCI・CDの対象とするソースコードをGitHubに登録しておきます。
GitHubのアカウント作成・ソースコード登録
こちらを参照してください。
(参考) 今さら聞けない!GitHubの使い方【超初心者向け】 | TECHACADEMY
ソースコード登録の際、SDKロケーションを指定する「local.properties」は登録対象から除外してください。
登録対象に含めた場合、BitriseでGitHubからソースコードを取得し、サーバーでビルドする際に開発環境とサーバー環境でSDKロケーションが異なるためビルドに失敗するからです。
DeployGateのアカウント作成
こちらを参照してください。
Bitriseのアカウント作成
Bitriseのアカウント作成方法を紹介します。
紹介するのはHobby向けの無料プランのアカウント作成方法です。
まずBitriseの公式ページにアクセスし、「Get Started for Free」を押下します。

今回はGitHubアカウントを用いてアカウントを作成するので、「Sign up with GitHub」を押下します。

「Authorize bitrise-io」を押下します。

GitHubアカウントのパスワードを入力し、「Confirm password」を押下します。

Bitriseで使用するユーザー名とパスワードを入力し「Next」を押下します。

詳細情報の入力を求められますが、必須ではないので一旦「Add later」を押下します。
※ 詳細情報を入力してもかまいません

これでBitriseのアカウント作成が完了しました。

ワークフローの作成
Androidアプリのビルドからデプロイまでを実現するためのワークフローを作成します。
まずはログイン後のトップページで「Add your first app」を押下します。

所属を質問されるので回答します。
私は「Single developer/freelance」と回答しました。

ワークフローのアクセス許可を設定します。
外部に公開するつもりはないので、非公開(Private)を選びました。

連携したGitHubアカウントが持つリポジトリのうち、どれをビルド対象にするかを選択します。

レポジトリへのアクセス方法を設定します。
GitHubに配置したAndroidアプリであれば、「AUTOMATIC」(自動)で「No, auto-add SSH key」を選択します。

選択したリポジトリのどのブランチをビルド対象にするかを入力し、「Next」を押下します。
ブランチを複数作成していない場合は「master」を選択します。

「Next」を押下すると、リポジトリや設定に問題ないかをチェックする処理が走り、問題なければモジュールの選択に移動します。
モジュール名を入力後に「Next」を押下してください。
なお、モジュールと次に出てくるバリアントの名称はAndroid Studioで確認できます。

Android StudioでBuild Variantsタブでモジュールとバリアントの名称を確認できます。

バリアントの名称を入力後に「Next」を押下してください。

ここまででビルドの設定は完了で、設定内容を確認して問題なければ「Confirm」を押下します。

Bitriseで使用するアプリのアイコンを設定します。
今回ははアイコンが不要なので「Skip for Now」を押下しました。
アイコンを設定したい場合は、「Upload Custom Image」の+ボタンを押下して画像をアップロードした後、「Choose Image and Proceed」を押下してください。

GitHubのビルド対象リポジトリにソースコードをプッシュするたびに、Bitriseでワークフローを実行するかを設定します。
設定する場合は「Register a Webhook for me!」を設定しない場合は「Skip the Webhook registration.」を押下してください。

これでワークフローの作成は完了です。
作成直後にワークフローが実行されるので「Dashboard」を押下して結果を確認します。
結果が出るまでに5分程度かかります。

ワークフローの結果を選択します。

成功していれば「Success」と表示されます。

DeployGateのタスクを追加
上記で作成したワークフローにDeployGateのタスクを追加します。
ビルドの結果を確認したページで「Open Workflow Editer」を押下します。

ワークフローを編集するページが開きます。
DeployGateのタスクを実行するためには事前にAndroidアプリのAPKファイルを作成する必要があり、そのために「Android Build」タスクを追加します。
「Android Unit Test」タスクの下の「+」ボタンを押下し、検索欄に「Android Build」と入力します。
検索結果に表示される「Android Build」タスクをクリックします。

「Android Build」タスクに編集が必要な項目は特にないため、「Ctrl + S」を押下して保存します。

続いてDeployGateのタスクを追加します。
「Deploy to Bitrise.io-Apps」タスクの下の「+」ボタンを押下し、「ALL」を押下後に検索欄に「DeployGate」と入力します。
検索結果に表示される「DeployGate Upload」タスクをクリックします。

「DeployGate Upload」タスクで設定が必須なのは「API Key」「Owner Name」「App file path」「App Visibility」の4項目です。
各項目の詳細は公式ページを参照してください。
https://devcenter.bitrise.io/jp/deploy/deploy-apps-to-deploygate-from-bitrise/
「App Visibility」はDeployGate のプロフィールページでアプリ名とアイコンを公開するかの設定で、デフォルトでは非公開(Private)になっており、今回変更の必要がないためデフォルトから変更しません。
その他の項目の値の取得先や設定値以下で紹介します。

「API Key」はDeployGateのプロフィールページのAPI keyから取得します。
https://deploygate.com/settings
なお、Bitriseで「API Key」の項目をクリックすると環境変数を用いて値を設定するように促されますが、面倒であれば入力欄の所で右クリックして貼り付けをすると環境変数を作成せずに値を入力できます。

「Owner Name」はDeployGateのプロフィールページの「ユーザー名とアイコン」から取得します。
https://deploygate.com/settings

「App file path」は「$BITRISE_APK_PATH」と入力します。
環境変数「$BITRISE_APK_PATH」には「Android Build」タスクで作成したAPKのパスが設定されます。
これで設定が終了したので「Ctrl + S」を押下して保存します。

DeployGateにアプリが配布されるかワークフローを実行して確認したいので、アプリ名(ここでは「TestBitrise」)を押下して、アプリのページへ移動します。

「Start/Schedule a Build」を押下します。

「Start Build」を押下します。

Android端末のDeployGateアプリに、ビルドしたアプリが配布されていれば成功です。
以上です。
コメントを残す