[androidアプリ] GitHub Actionsでプルリクエスト毎にdeploygateの配布ページを作る
はじめに
deploygateのAPIを使ってherokuのreview app的な仕組みを作りたいと思っていたのでそれをやりました。
androidアプリを作ったことがないのでどういうワークフローにしようか考えたんですが、herokuに習って下記の通りにしました。
- プルリクエストをmasterにマージした時はmaster用の配布ページにアップロードする
- プルリクエストをオープンするとプルリクエスト番号を添えた専用の配布ページを作成しapkをアップロードする
- プルリクエストを閉じた時はプルリクエスト専用の配布ページを削除する
name: Android CI
on:
pull_request:
types: [synchronize, opened, reopened, closed]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Gradle
run: ./gradlew build
- name: Distribute App for master
if: github.ref == 'master' && github.event.pull_request.merged == true
run: |
curl \
-F "token=${{secrets.DEPLOYGATE_TOKEN}}" \
-F "file=@app/build/outputs/apk/debug/app-debug.apk" \
-F "message=https://github.com/jiikko/first_android_app/commit/`git rev-parse --short $GITHUB_SHA`" \
-F "distribution_name=first application(master)" \
https://deploygate.com/api/users/jiikko/apps
- name: Distribute App
if: github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'synchronize'
run: |
curl \
-F "token=${{secrets.DEPLOYGATE_TOKEN}}" \
-F "file=@app/build/outputs/apk/debug/app-debug.apk" \
-F "message=https://github.com/jiikko/first_android_app/commit/`git rev-parse --short $GITHUB_SHA`" \
-F "distribution_name=first-application(#${{ github.event.number }})" \
https://deploygate.com/api/users/jiikko/apps
cleanup:
runs-on: ubuntu-latest
steps:
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cleanup
if: github.event.action == 'closed'
run: |
curl \
-X DELETE \
-F "token=${{secrets.DEPLOYGATE_TOKEN}}" \
-F "distribution_name=first-application(#${{ github.event.number }})" \
https://deploygate.com/api/users/jiikko/platforms/android/apps/com.example.firstapplication/distributions
https://github.com/jiikko/first_android_app で動かしていました。
参考にした記事
- https://wada811.com/nippo/2018/09/12/
- https://blog.wadackel.me/2019/cloud-run-pull-request-preview/
- https://speakerdeck.com/horie1024/automating-app-distribution-with-deploygate-using-the-github-actions-597b6f98-e455-40b7-8149-6ae8846022a9
- https://tech.actindi.net/2019/12/01/000000
おわり
-
category:
- 日記 tags: