23
10

More than 3 years have passed since last update.

GitHub Actions で Android アプリをビルドして apk ファイルをアップロードする

Last updated at Posted at 2019-12-21

これは ゆめみ その2 Advent Calendar 2019 の19日目の投稿です。

今回はタイトルどおり、GitHub Actions で Android アプリのビルドを実行し、apk ファイルをアップロードするワークフローを紹介します!

apk ファイルのアップロード先について

実際に仕事のプロジェクトでビルドを自動化する場合は、Firebase App Distribution なり DeployGate へ apk ファイルをアップロードした方が便利でしょう。

ただ今回は、それらのアカウントを用意するまでもないような小さなプロジェクトや個人プロジェクトを想定して、GitHub Actions の Artifacts へ apk ファイルをアップロードすることにします。(この方法であれば別途 Firebase 等のアカウントを用意する必要はありません。)

ワークフロー

GitHub Actions の Ubuntu の環境は、Android アプリをビルドする為の SDK がはじめから導入されているので、とくに何もせずそのままビルドすることが出来ます。今回はビルドの前に、Android Lint で致命的なエラーが無いか、また Unit テストが通るかもチェックすることとします。このワークフローは次のようになります。

name: Android CI

on:
  push:
    branches:
      - master # masterブランチへのマージを契機にビルドする

jobs:
  build:

    name: Build on merge # GitHub上で識別しやすいのでジョブの名前をつけておく

    runs-on: ubuntu-latest

    steps:
      - name: Check out
        uses: actions/checkout@v1
      - name: Set up JDK
        uses: actions/setup-java@v1
        with:
          java-version: 1.8
      - name: Run Android Lint
        run: ./gradlew lintDebug
      - name: Run Unit Test
        run: ./gradlew testDebug
      - name: Build with Gradle
        run: ./gradlew assembleDebug
      - name: Upload apk file
        uses: actions/upload-artifact@v1
        with:
          name: apk
          path: app/build/outputs/apk/debug/app-debug.apk

上記のワークフローのとおり、Artifacts へのアップロードは https://github.com/actions/upload-artifact を利用しています。

ビルドが成功すると、GitHub Actions のジョブのページ に apk ファイルがアップロードされます。

スクリーンショット 2019-12-21 21.17.51.png

おわりに

いかがだったでしょうか。ビルドの成否を Slack へ等へ通知するともっと便利かもしれません。GitHub Actions については、次のような投稿もしていますので、よろしければご覧ください!

23
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
10