🏙️
Phoenix LiveViewで作ったライフゲームをFly.ioにデプロイする
手遊びにPhoxnix LiveViewでライフゲームを作ってみようと思ったところ、「Phoenix LiveViewでライフゲーム」という素晴らしい記事がありました。自分で作る必要はなかったということで、最新版のPhoenixを使って最小限の構成で動くようにして、Fly.ioにデプロイしてみました。
開発環境
- Elixir 1.14.2 (compiled with Erlang/OTP 25)
- Phoenix v1.6.15
やったこと
プロジェクトのセットアップ
LiveViewを使うので--live
を、Ectoを使わないので--no-ecto
でセットアップしました。
mix phx.new livegame --live --no-ecto
ファイルの準備
「Phoenix LiveViewでライフゲーム」にあるファイルを追加していきます。lib/livegame/pattern.ex
については説明がなかったので、リポジトリから持ってきました。
Fly.ioへデプロイ
Deploying on Fly.io — Phoenix v1.6.15に沿って、Fly.ioにデプロイしました。その際、Dockerfileなどが生成されたので、リポジトリに追加しておきます。
GitHub Actionsの準備
GitHubにpushしたらデプロイしてほしいので、GitHub Actionsを使います。Continuous Deployment with Fly and GitHub Actions · Fly Docsにある通りにすれば、簡単にできました。
おわりに
ライフゲームを作ることそのものも楽しんでみたいので、もうちょっとあれこれいじってみたいと思います。まずはパターンをいくつか追加するところからかな。
あらためて、「Phoenix LiveViewでライフゲーム」に感謝いたします。
Discussion