Deployment Guides
Riebeckite で作成した Site を Cloudflare Workers へ公開するための Guide です。
基本的な流れは次のとおりです。
Diagram source
flowchart LR
Source["Content / Config"]
Build["riebeckite build"]
Dist["dist/"]
Workers["Cloudflare Workers"]
Site["Public Site"]
Source --> Build
Build --> Dist
Dist --> Workers
Workers --> Site
npm exec riebeckite build
を実行すると、公開用の Site が dist/ に生成されます。
通常の静的 Site では、この dist/ を Cloudflare Workers の Static Assets として配信します。
どの Guide を読めばいい?
| やりたいこと | Guide |
|---|---|
| 手元から Cloudflare Workers へ公開したい | Cloudflare Workers |
| GitHub への Push から自動公開したい | GitHub Actions |
| Content と Site を別 Repository で運用したい | Separate Content Repository |
初めて公開する場合は、まず Cloudflare Workers を読むのがおすすめです。create-riebeckite で Cloudflare Workers を選ぶと Wrangler の依存と wrangler.jsonc が生成され、npm exec riebeckite deploy で手元から公開できます。deploy は build を行わないため、先に npm exec riebeckite build で dist/ を作ります。すでに手元から公開している Site は、npm exec riebeckite deploy setup で GitHub Actions の継続デプロイを準備できます。
Diagram source
flowchart TD
Start["Siteを公開したい"]
Auto{"自動Deployする?"}
Separate{"Contentを<br/>別Repositoryにする?"}
Start --> Auto
Auto -->|"No"| Workers["Cloudflare Workers"]
Auto -->|"Yes"| Separate
Separate -->|"No"| Actions["GitHub Actions"]
Separate -->|"Yes"| Content["Separate Content Repository"]
Build と Deploy
Riebeckite では、Build と Deploy は別の処理です。
Build
→ Contentや設定から dist/ を生成する
Deploy
→ dist/ をCloudflare Workersから配信する
公開対象は dist/ です。
.riebeckite/ や Plugin Cache は Build 時に利用する状態であり、公開 Asset ではありません。
dist/
→ 公開する
.riebeckite/
Plugin Cache
→ 公開しない
通常の静的 Site では Runtime の main も必要ありません。Riebeckite の Build 処理を Workers 上で実行するのではなく、Build 済みの dist/ を配信します。
公開前の確認
Deploy 前には、次の順で確認できます。
npm exec riebeckite check
npm exec riebeckite doctor
npm exec riebeckite build
build が成功したら、生成された dist/ を Deploy します。
Deployment Guides
Cloudflare Workers
dist/ を Cloudflare Workers へ手元から公開する方法を説明します。npm exec riebeckite deploy がログインと wrangler.jsonc の生成を行います。
GitHub Actions
Site Repository への Push から、Build と Cloudflare Workers への Deploy を自動化します。
Separate Content Repository
Obsidian Vault などの Content と Site を別 Repository で管理する方法を説明します。
Private Content Repository の認証や、Content 更新から Site の Deployment を起動する方法もこちらで扱います。
まとめ
Riebeckite の Deployment は、
Content
↓
riebeckite build
↓
dist/
↓
Cloudflare Workers
と考えれば十分です。
- 手動で公開する → Cloudflare Workers
- Push から自動公開する → GitHub Actions
- Content Repository を分離する → Separate Content Repository