【Flutter】Flutterを使った開発でGitHub Actionsを活用する

CI/CDといえば CircleCI や Bitrise などのサービスが有名ですが、GitHub Actionsを使っているプロジェクトも増えてきています。

今回はFlutterを使った開発でGitHub Actionsを活用する方法を紹介します。

PRを作成、アップデートする度にAnalyzeを走らせる

types: [opened, synchronize] とPRの作成時、修正時に実行されるようにしています。

ちなみに私が普段使っている analysis_options.yaml は次のとおりです。freezedを使っているので関連するファイルの除外設定をしています。

マージされたときにビルドして Firebase App Distribution にアップロードする

PRがmainブランチにマージされた時を想定していますが 、もちろんyamlファイルを書き換えることでdevelopブランチなど特定のブランチにマージされてときにも対応可能です。

iOS

p12ファイル、プロビジョニングファイルをBASE64化してGitHubActionsのSECRETに設定します。パスワードなども合わせてSECRETにします。

BASE64化する際はmacOSであれば次のように実行することでBASE64化してクリップボードにコピーされるので便利です。

AdHoc.p12 | base64 | pbcopy

Android

AndroidはKEYSTOREをBASE64化し、パスワード、エイリアス名をSECRETに設定します。