Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub Actionsを使用してGoogle Play Consoleに自動アップロード

changfu
May 22, 2022

GitHub Actionsを使用してGoogle Play Consoleに自動アップロード

changfu

May 22, 2022
Tweet

Other Decks in Technology

Transcript

  1. © ZOZO, Inc. https://wear.jp/
 3 • ファッションコーディネートアプリ • 1,600万ダウンロード突破、コーディネート投稿総数は1,100万件以上 (2022年4月末時点)

    • ピックアップタグから最新のトレンドをチェック • コーディネート着用アイテムを公式サイトで購入可能 • WEAR公認の人気ユーザーをWEARISTAと認定。モデル・タレント・デ ザイナー・インフルエンサーといった各界著名人も参加
  2. © ZOZO, Inc. GitHub Actionsを用いて行う自動化のメリット • 人為的ミスの回避 / 手動で作業を行う必要がない •

    作業の効率化 / ストアアップロードに使っていた作業時間を他の作業にあてることができる • ブランチ運用にも対応 / トリガーブランチの設定を豊富に行える 7
  3. © ZOZO, Inc. 17 実際のコード トリガー設定 ビルド Keystoreをデコード App Bundle作成

    全体フロー サービスアカウント作成 Slack通知設定 デプロイ
  4. © ZOZO, Inc. name: Deploy Google Play Console on: pull_request:

    branches: - main types: [closed] 
 18 トリガー設定 ビルド Keystoreをデコード App Bundle作成 サービスアカウント作成 Slack通知設定 デプロイ
  5. © ZOZO, Inc. jobs: build: runs-on: ubuntu-latest steps: - name:

    Checkout uses: actions/checkout@v2 - name: set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Create Empty local.properties for ci run: echo > local.properties - name: Displays the Android dependencies of the project run: ./gradlew androidDependencies 19 トリガー設定 ビルド Keystoreをデコード App Bundle作成 サービスアカウント作成 Slack通知設定 デプロイ
  6. © ZOZO, Inc. - name: Decode Keystore run: echo ${{

    secrets.ENCODED_RELEASE_KEYSTORE }} | base64 --decode > ${{ test.keystore }} 20 トリガー設定 ビルド Keystoreをデコード App Bundle作成 サービスアカウント作成 Slack通知設定 デプロイ
  7. © ZOZO, Inc. - name: Generate AAB run: ./gradlew :app:bundleRelease

    env: RELEASE_KEYSTORE_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }} RELEASE_KEYSTORE_KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} 21 トリガー設定 ビルド Keystoreをデコード App Bundle作成 サービスアカウント作成 Slack通知設定 デプロイ
  8. © ZOZO, Inc. - name: Create service_account.json id: createServiceAccount run:

    echo '${{ secrets.SERVICE_ACCOUNT_JSON }}' > service_account.json 22 トリガー設定 ビルド Keystoreをデコード App Bundle作成 サービスアカウント作成 Slack通知設定 デプロイ
  9. © ZOZO, Inc. - name: Deploy to Play Store id:

    deploy uses: r0adkll/[email protected] with: serviceAccountJson: service_account.json packageName: com.test.deplaoy.app releaseFile: app/build/outputs/bundle/googlePlayRelease/app-googlePlay-release.aab track: beta whatsNewDirectory: whatsnew/ 23 トリガー設定 ビルド Keystoreをデコード App Bundle作成 サービスアカウント作成 Slack通知設定 デプロイ
  10. © ZOZO, Inc. - uses: 8398a7/[email protected] if: failure() with: status:

    ${{ job.status }} text: リリースビルドが失敗しました。確認をお願いします。 mention: 'here' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} - uses: 8398a7/[email protected] if: success() with: status: ${{ job.status }} text: リリースビルドが完了しました! env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} 24 トリガー設定 ビルド Keystoreをデコード App Bundle作成 サービスアカウント作成 Slack通知設定 デプロイ