Slide 1

Slide 1 text

EAS Custom BuildでSlackへ通知する @mrtry 2024/08/06

Slide 2

Slide 2 text

© JMDC Inc. 自己紹介 @mrtry JMDC, Inc / Ventus, Inc • Engineer (Mobile) • Engineering Manager 高専卒 / 現放送大学生 • 心理学まわりの単位を取ってる • メタ認知システムが大好き

Slide 3

Slide 3 text

© JMDC Inc. EAS Custom Buildとは • EAS Buildのworkflowをカスタムする手法 • yamlでworkflowを定義することができる • デフォルトで便利workflowが提供されている • TS書いて拡張もできる

Slide 4

Slide 4 text

© JMDC Inc. EAS Custom Buildとは 例: 通常のEAS Buildを実行するworkflow

Slide 5

Slide 5 text

© JMDC Inc. EASからいくつかのfunctionが提供されている • 先の eas/build もEASから提供されているもの • https://docs.expo.dev/custom-builds/schema/ • その中に eas/send_slack_message があり、今回はこれを使ってみる

Slide 6

Slide 6 text

© JMDC Inc. eas/send_slack_messageを使って通知を送ってみる

Slide 7

Slide 7 text

© JMDC Inc. 完成イメージ Build実行時/終了時にSlackへ飛ぶ

Slide 8

Slide 8 text

© JMDC Inc. workflowのinterface

Slide 9

Slide 9 text

© JMDC Inc. Webhook URLを発行する Slack Appをして、Webhook URLを発行する 参考: Slack:Webhook URL取得してSlackに通知する | Zenn

Slide 10

Slide 10 text

© JMDC Inc. Slackに投稿するメッセージの体裁を整える BlockKitのWebSiteで見た目をつくる スクショをChatGPTにぶん投げこんでも、それっぽいのができる

Slide 11

Slide 11 text

© JMDC Inc. 投稿したいメッセージの体裁に揃えて、必要な情報を workflow実行時に取得する • ${ eas. }で引ける変数は以下に列挙されている • eas-build-job/src/context.ts

Slide 12

Slide 12 text

© JMDC Inc. 投稿したいメッセージの体裁に揃えて、必要な情報を workflow実行時に取得する Gist から一部抜粋

Slide 13

Slide 13 text

© JMDC Inc. ローカルで実行テストする 以下からいくつか抜粋 • Run builds locally or on your own infrastructure | Expo ローカルマシンでEAS Build実行 • $ eas build ... --local 環境変数は、実行時に渡せば動く • $ SLACK_HOOK_URL=https://xxx... eas build ... EAS Build実行時に色々オプションを設定するとデバッグに役立つ • 特に EAS_LOCAL_BUILD_SKIP_CLEANUP • build finish時のcleanupを無効にする

Slide 14

Slide 14 text

No content