本日の作業
本日は馬術レッスンデーのため進捗悪し。
備忘録として、Cloudflare Worker + Turborepo + Remix環境でのデプロイ手順についてまとめた。
zennにちゃんとまとめたものを書きたい。
ジャストアイデアとして分報機能について考察、課題抽出、ニーズ分析、ビジネスユースケースの定義
Cloudflare Worker + Turborepo + Remix
ディレクトリは以下の様な構成にしてます。
apps/admin, apps/userはadminが管理用、userがユーザ向けアプリケーション用。
始める前にCloudflareにアカウントを作っておく
アカウントはオーナーアカウントなので会社やチームで開発するとかなら会社やチームの代表アカウントして作成する
例)HogeMoge株式会社なら「account_id:hogemoge」とかにしておくと良い
Remixのpackageに@remix-run/cloudflare-workersを追加しておく。
remix.config.jsのserverBuildTargetとserverを次のようにしておく。
shellでnpx wrangler loginを叩いてCloudflareへの認証が通しておく。
ルートディレクトリでnpx wrangler generateするとwrangler.tomlが生成される。
wranglerファイルはwrangler.admin.toml, wrangler.user.tomlを用意して中身は次の感じ。account_idはCloudflareのコンソールの「アカウントの管理 > 構成」から確認できます。
オーナーアカウントのIDになるので、開発メンバーはメンバーとして招待して適当な権限を付与する形にしてからこのaccount_idを共有する様にする。
CloudflareのコンソールでWorker & Pageから「アプリケーションを作成する」で「ワーカーの作成」作成する。
このワーカーの名前がtomlのnameと一致しておく必要があります。
そのほか、tomlの中に[env.***]とすると開発用・ステージング・本番と環境別の定義もできる様です。
ここまで用意できたら次のCliでデプロイ実行。
wrangler deploy --config wrangler.user.toml
Turborepoの場合、デプロイしたいアプリケーションが複数あることと思います。この場合は先に述べたとおりtomlファイルをそれぞれのアプリケーション用に用意して wrangler deployにconifgオプションをつけてtomlファイルを指定する必要あり
あと、これをGithub Actionsなどで特定ブランチにpushしたらデプロイできる様にしますが、その話はまた別途まとめます。
そのほか、メモ
馬術レッスンの様子。
ふと、開発のイテレーションでよくあるものを機能化できないか考えた時に「分報」がある。分報の課題点として次のものがある。
見る人によるとノイズであったり心理的安全性に引っ掛かる(書いてる本人はそのつもりがなくても)
書く人も投稿した際に都度見られるかもと考えるとプレッシャー。
人が増えると分報を見て回るだけでひと仕事。
この課題を解決する案として、分報は分報として投稿できるけど即時公開せず、あるタイミングまたは設定した定期的なタイミングでこのアプリケーション上で他者が閲覧できたり、Slackなど任意の場所に投稿したりすると良さそう。
また、開発日誌に任意の分報をチョイスして掲載するとかもありだと思う。
開発日誌を後から1日を思い出して書くと抜け漏れもあるし、思い出せなかったりもする。