デプロイトラブルシューティングDockerfile の変更が反映されない

Dockerfile の変更が反映されていないようです

リポジトリに Dockerfile があり、それを編集したにもかかわらず、Lizard が実行するビルドがあなたの記述と一致しません。

これは何を意味するのか

プラットフォームは、リポジトリの Dockerfile が不完全だと判断し、あなたのものをそのまま使う代わりに lizardpack で再生成しました。

なぜこれが起こるのか

Lizard が lizardpack の自動検出パスでリポジトリの Dockerfile をそのまま使うのは、それに実際のビルド手順、つまり RUN <package-manager> 行がある場合だけです。ビルド済みアーティファクトをコピーするだけの Dockerfile(COPY dist/、build/、out/、.next/、public/)で、RUN 手順がないものは、それらのアーティファクトがイメージの外部でビルドされたと見なされ、不完全として扱われます。その場合、lizardpack が不足しているビルド手順を含む置き換え用 Dockerfile を生成します。

これは lizardpack の自動検出パスでのみ適用されます。サービスに buildCommand または startCommand が設定されている場合、Lizard はそれらのコマンドから Dockerfile を合成し、リポジトリの Dockerfile はまったく参照しません。

考えられる解決策

実際のビルド手順を追加する

Dockerfile をそのまま使いたい場合は、ビルド済み出力をコピーするのではなく、実際のビルド手順を追加してください。

RUN npm ci && npm run build

またはそのまま使用するよう強制する

ビルドと起動のオーバーライドをクリアしてから、同じ更新で dockerfilePath を設定してください。オーバーライドはファイルパスよりも優先されます。

lizard service set api --set buildCommand=null --set startCommand=null --set dockerfilePath=Dockerfile

関連情報

これらのビルド項目を変更すると、ビルドが開始されることがあります。2 回目のビルドを開始しないよう、別の redeploy を送信する前に lizard events を確認してください。