Slide 1

Slide 1 text

Firebase App Distribution Yoshihiro Wada / @e10dokup 2023/07/08 @ DroidKaigi.collect { #5@Nagoya }

Slide 2

Slide 2 text

{ “id”: “@e10dokup”, “name”: “Yoshihiro Wada”, “affiliations”: [ “CyberAgent Inc, / Ameba” ], “interested”: [ “camera”, “gadget”, “driving”, “motorsports” ] }

Slide 3

Slide 3 text

DeployGate Firebase App Distribution Firebase App Distribution tips GitHub Actions runs-on ubuntu-latest 3

Slide 4

Slide 4 text

GitHub Actions + Firebase App Distribution

Slide 5

Slide 5 text

wzieba/Firebase-Distribution-GitHub-Action(*1) App Tester 5 *1:https://github.com/wzieba/Firebase-Distribution-Github-Action - name: upload artifact to Firebase App Distribution uses: wzieba/Firebase-Distribution-Github-Action@v1 with: appId: ${{secrets.FIREBASE_APP_ID}} serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }} groups: testers file: app/build/outputs/apk/release/app-release-unsigned.apk releaseNotes: ϝονϟΠέςϧϦϦʔεϊʔτ

Slide 6

Slide 6 text

DeployGate # App Tester 6

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Docker fi le fi rebase-tools Firebase CLI wzieba/Firebase-Distribution-GitHub-Action 8 i uploading binary... ✔ uploaded new release () successfully! ✔ View this release in the Firebase console: <ίϯιʔϧURL> ✔ Share this release with testers who have access: <ςελʔ༻URL> ✔ Download the release binary (link expires in 1 hour): <όΠφϦμ΢ϯϩʔυURL> 
 i updating release notes... ✔ added release notes successfully 
 i distributing to testers/groups... ✔ distributed to testers/groups successfully

Slide 9

Slide 9 text

URL Firebase App Distribution URL Firebase App Distribution URL Firebase App Tester Deep Link URL APK/AAB URL 1 URL 3 9

Slide 10

Slide 10 text

URL Firebase App Distribution URL Firebase App Distribution URL Firebase App Tester Deep Link URL APK/AAB URL 1 URL 3 10

Slide 11

Slide 11 text

wzieba/Firebase-Distribution-GitHub-Action URL Fork Action URL Action URL URL 11

Slide 12

Slide 12 text

actions.yml outputs key-value tester_url Action 12 outputs: tester_url: description: ‘Url for Firebase App Tester’

Slide 13

Slide 13 text

entrypoints.sh outputs grep 2 URL URL $GITHUB_OUTPUT key-value URL 13 output=$(firebase \ /** தུ **/ $( (( $INPUT_DEBUG )) && printf %s '--debug' )) # firebaseίϚϯυͷ݁ՌΛม਺ʹऔΔ status=$? echo $output if [ -n "${INPUT_TOKEN}" ] ; then echo ${TOKEN_DEPRECATED_WARNING_MESSAGE} fi tester_url=$(echo $output | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | sed -n 2p ) echo "tester_url=$tester_url" >> $GITHUB_OUTPUT # ͜ͷܗࣜͰecho͢ΔͱActionͷग़ྗͱͯ͠ೝࣝ͞ΕΔ exit $status

Slide 14

Slide 14 text

GitHub Repository marketplace 
 •/@ ref outputs Action ID •steps..outputs.<ม਺໊> Action 14

Slide 15

Slide 15 text

PR api.qrserver.com QR URL 15 - name: upload artifact to Firebase App Distribution id: upload_fad # ͜͜ͷ஋Λ࢖ͬͯࢀর͢Δ uses: /Firebase-Distribution-Github-Action@master with: appId: ${{secrets.FIREBASE_APP_ID}} serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }} groups: testers file: app/build/outputs/apk/release/app-release.apk releaseNotes: ϝονϟΠέςϧϦϦʔεϊʔτ - name: Comment to PullRequest if: success() uses: peter-evans/create-or-update-comment@v2 with: issue-number: ${{ github.event.pull_request.number }} body: | Upload application is succeeded. check ${{ steps.upload_fad.outputs.tester_url }}.

Slide 16

Slide 16 text

fi rebase-tools fi rebase- tools Fastlane Firebase API Fastlane URL Firebase API 16