このガイドでは、以下について説明します。
- Bitrise に Android アプリを追加する方法
primary
ワークフローとdeploy
ワークフローでできること- アプリのテスト方法
- bitrise.ioもしくはマーケットプレイスにデプロイする方法
bitrise.io に Android アプリを追加する ⚓
- bitrise.ioにログインします。
- ダッシュボードで
+ Add new app
をクリックします。 Create new App
ページのChoose Account
で、アプリを追加するアカウントを選択します。- アプリの公開設定を Private またはPublicに設定し、
Next
をクリックします。 - リポジトリを持つ Git ホスティングサービスを選択し、リポジトリを選択します。詳細はconnecting your repositoryを参照してください。
- リポジトリのアクセスを求めるプロンプトが表示されたら、
No, auto-add SSH key
を選択します。詳細はSSH keysを参照してください。 - プロジェクトで設定したブランチ名(例えば master など)を入力し、
Next
をクリックします。 - Bitrise がプロジェクトを検証するのでしばらくお待ちください。設定ファイルに基づいてアプリのセットアップを行います。
- Bitrise Scanner はデフォルトでプロジェクトのモジュールを選択します。
Module
リストで選択できるモジュールがさらにある場合は、プロジェクトに最適なモジュールを選択してください。 - ビルドのバリアントを選択します(
APPS & ARTIFACTS
にて生成されるすべてのバリアントを選択可能)。テストのバリアントも同様に選択します。
- Bitrise Scanner はデフォルトでプロジェクトのモジュールを選択します。
- プロンプトが表示されたら Webhook を登録して、コードがリポジトリにプッシュされたときに Bitrise が自動的にビルドを開始できるようにします。 これにより、
primary
ワークフローでの最初のビルドが開始されます。メッセージをクリックするとビルドページに移動します。 最初のビルドではまだ apk は作成されませんが、ビルドページでプロジェクトのログを確認することができます。
以下は Android primary
ワークフローの一例です。
primary:
steps:
- activate-ssh-key@4.0.3:
run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
- git-clone@4.0.11: {}
- cache-pull@2.0.1: {}
- script@1.1.5:
title: Do anything with Script step
- install-missing-android-tools@2.2.0:
inputs:
- gradlew_path: "$PROJECT_LOCATION/gradlew"
- android-lint@0.9.4:
inputs:
- project_location: "$PROJECT_LOCATION"
- module: "$MODULE"
- variant: "$TEST_VARIANT"
- android-unit-test@0.9.3:
inputs:
- project_location: "$PROJECT_LOCATION"
- module: "$MODULE"
- variant: "$TEST_VARIANT"
- deploy-to-bitrise-io@1.3.15: {}
- cache-push@2.0.5: {}
このワークフローは、あなたのプロジェクトをビルドする Android Build
ステップもAndroid Sign
ステップもありません。
したがって、このワークフローはコードレベルでプロジェクトをテストするための出発点に過ぎません。
では、どのようにAndroid deploy ワークフローを行うか見てましょう!
- ワークフローエディタで
deploy
ワークフローを選択します。 Code Signing
タブに移動します。- キーストアファイルを
ANDROID KEYSTORE FILE
フィールドにドラッグ&ドロップします。 Keystore password
、Keystore alias
、Private key password
フィールドに情報を入力しSave metadata
をクリックします。Bitrise にアプリをアップロードする前に Android Studio で生成されたキーストアファイルに含まれているので、これらはすでに手元にあるはずです。キーストアファイルの詳細については、こちらを参照してください。この情報をAndroid Sign step
(Android deploy ワークフローのデフォルトに含まれます)タブに追加すると、デフォルトで Android 配布ワークフローに含まれている「署名 APK ステップ」が apk に署名して配布準備が整います。コード署名オプションの詳細については、Android code signing guideを参照してください。- ビルドページに戻り、
Start/Schedule a build
をクリックします。 - ポップアップウィンドウの
Build configuration
タブでdeploy
を選択します。
以下は Android deploy
ワークフローの一例です。
deploy:
- activate-ssh-key@4.0.3:
run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
- git-clone@4.0.11: {}
- cache-pull@2.0.1: {}
- script@1.1.5:
title: Do anything with Script step
- install-missing-android-tools@2.2.0:
inputs:
- gradlew_path: "$PROJECT_LOCATION/gradlew"
- change-android-versioncode-and-versionname@1.1.1:
inputs:
- build_gradle_path: "$PROJECT_LOCATION/$MODULE/build.gradle"
- android-lint@0.9.4:
inputs:
- project_location: "$PROJECT_LOCATION"
- module: "$MODULE"
- variant: "$TEST_VARIANT"
- android-unit-test@0.9.3:
inputs:
- project_location: "$PROJECT_LOCATION"
- module: "$MODULE"
- variant: "$TEST_VARIANT"
- android-build@0.9.5:
inputs:
- project_location: "$PROJECT_LOCATION"
- module: "$MODULE"
- variant: "$BUILD_VARIANT"
- sign-apk@1.2.3:
run_if: '{{getenv "BITRISEIO_ANDROID_KEYSTORE_URL" | ne ""}}'
- deploy-to-bitrise-io@1.3.15:
inputs:
- notify_user_groups: testers
- cache-push@2.0.5: {}
依存関係 ⚓
幸運にも、deploy
ワークフローのデフォルトである Android Build
ステップは、build.gradle
ファイルにリストアップしたすべての依存関係を処理し、あなたのプロジェクトにインストールします。
アプリのテスト ⚓
前述の Android ワークフローの通り、Android Lint
とAndroid Unit Test
のステップがデフォルトでワークフローに含まれています。
UI テストを行う場合、仮想デバイスで Android UI テストを実行するために、beta Virtual Device Testing for Android
ステップを追加してください。
利用可能なテストタイプの中から 1 つを選択してください!
- instrumentation
- robo
- gameloop
instrumentation を選択した場合は、Instrumentation Testグループ下でTest APK pathを設定することを忘れないでください。
プロジェクトのデプロイ ⚓
bitrise.io へのデプロイ ⚓
このステップでは、ビルドページにあるAPPS & ARTIFACTSタブに、ビルドに関連するすべての成果物をアップロードします。
ビルドの URL を使用して、生成された apk をチームメンバーと共有できます。 apk がビルドされたことをユーザーグループまたは個人に通知することもできます。
Deploy to bitrise.io
ステップに進みます。Notify: User Roles
で、受け取るロールを付与します。 または通知するユーザの電子メールアドレスをNotify: Emails
フィールドに入力します。 これらの電子メールアドレスをsecret env varsに設定してください!これらの詳細はAPPS&ARTIFACTS
タブで生成された apk の隣にあるeye
アイコンをクリックするとNotifications
の下で変更することもできます。
マーケットプレイスへのデプロイ ⚓
ワークフロー(Android Sign
ステップの後)に Google Play Deploy
ステップを追加すると、署名済み apk があなたの選択したマーケットプレイスにアップロードされます。
- Google Play ストアと同期していることを確認してください。以下を参考にしてください。
- Bitrise のダッシュボードで、
Code Signing
に移動し、サービスアカウントの JSON キーをGENERIC FILE STORAGE
にアップロードします。 - アップロードしたファイルの URL を格納する env キーをコピーします。
- 例:
BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL
- 例:
- ワークフローエディタにて
Google Play Deploy
ステップに戻ります。 - 次のように必要な入力フィールドを入力します。
Service Account JSON key file path
: このフィールドはアップロードされたサービスアカウントの JSON キーを含む環境変数を指定する必要があります。リモート URL を受け付けます。 例:$BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL
Package name
: あなたの Android アプリのパッケージ名Track
: APK を展開するトラック(alpha/beta/rollout/production)
これで全部です! ビルドを開始またはスケジュールし、外部のテスターと URL を共有するか、あなたが選んだアプリストアにアプリを配布してください!