Color mode

トラブルシューティング

デプロイが動かないとき

まず、ワークフローが起動していないのか、起動したけれど失敗したのかを切り分けます。

Diagram source
text
flowchart TD
    Problem["デプロイされない"]
 
    Problem --> Started{"ワークフローは起動した?"}
 
    Started -->|"いいえ"| Trigger["トリガーを確認"]
    Started -->|"はい"| Failed{"どこで失敗した?"}
 
    Trigger --> Push["main への push"]
    Trigger --> Manual["workflow_dispatch"]
    Trigger --> Dispatch["repository_dispatch"]
 
    Failed --> Checkout["チェックアウト"]
    Failed --> Install["npm ci"]
    Failed --> Check["riebeckite check"]
    Failed --> Build["riebeckite build"]
    Failed --> Deploy["Cloudflare へのデプロイ"]

ワークフローが起動しない

サイトリポジトリへのプッシュなら、main へプッシュしているか確認します。

コンテンツリポジトリへのプッシュなら、次の点を確認してください。

text
notify-site.yml
SITE_DISPATCH_TOKEN
repository_dispatch
content-updated

コンテンツリポジトリへのプッシュだけでは、サイトのワークフローは起動しません。

npm ci が失敗する

生成されるワークフローは npm ci を使います。package-lock.json がリポジトリにコミットされているか確認してください。

sh
npm ci

必要なファイルは次のとおりです。

text
package-lock.json

コンテンツのチェックアウトが失敗する

プライベートなコンテンツリポジトリの場合は、RIEBECKITE_CONTENT_READ_TOKEN を確認します。

text
RIEBECKITE_CONTENT_READ_TOKEN

サイトリポジトリのワークフローが、そのトークンを使ってコンテンツリポジトリを読めるようにしておく必要があります。

check が失敗する

次のコマンドを手元でも実行します。

sh
npm exec riebeckite check

設定やプラグインの問題を修正してからプッシュしてください。

build が失敗する

手元で次のコマンドを実行し、再現するか確認します。

sh
npm exec riebeckite build

リポジトリを分けている場合は、CI と同じ場所にコンテンツがあるかも確認してください。

Cloudflare へのデプロイが失敗する

ビルドまでは成功しているなら、次の点を確認します。

text
CLOUDFLARE_API_TOKEN
CLOUDFLARE_ACCOUNT_ID
wrangler.jsonc

Riebeckite のビルドと Cloudflare へのデプロイは別の段階です。どちらで失敗したかを切り分けると、原因を特定しやすくなります。

Local Graph

Nearby Notes