過去にNetlifyを使って開発した案件で久しぶりの更新対応を行おうとした際、デプロイがうまくいかないということがあったので、その際の対応方法をメモ。
原因の確認
久しぶりに更新を行った案件でデプロイがうまくいっておらず、Netlifyの管理画面上でビルドを確認すると、デプロイに失敗していました。
サイトを確認するとエラーのアイコンが表示されていました。
アイコンにホバーしてツールチップを確認すると、「This site uses an unsupported build image. Update it to enable builds」と表示されました。
サポートされていないビルドイメージを使用していることが原因で、デプロイに失敗しているようです。
対象のサイトの Site configuration > Build & deploy > Build image selection に移動します。
エラーの表記がされており、「Xenialビルドイメージのサポートは、2022年11月15日に終了しました。このサイトのビルドを有効にするには、別のビルドイメージを選択してください。」とあります。
ここに記載されている移行ガイドを見ながら対応を進めてみます。
対応方法
まず対応前に、対応後にビルドが正しく行われるかをテストするために、デプロイ時に公開サイトを変更しないようにします。
対象サイトのDeploysを選択して、現在公開されているデプロイを選択します。
ログページの上部にある「Lock to stop auto publishing」をクリックします。
これでデプロイがロックされ、公開サイトを変更せずにデプロイを実行できます。
先ほどの Site configuration > Build & deploy > Build image selection に戻り、Configureをクリックします。
現状はdeprecatedのXenialになっているので、defaultのFocalに変更して、Saveをクリックします。
これでビルドイメージの変更ができたので、デプロイを試してみます。
再度Deploysを選択して、Trigger deploy > Deploy site をクリックします。
デプロイが実行され、エラーが出なければOKです。
Previewから表示の確認もできます。
最後にデプロイ時に公開サイトにも反映されるように戻しておきます。
再度Deploysを選択して、「Unlock to start auto publishing」をクリックします。
これで更新対応時にデプロイが正しく行われるようになりました。
コメントが承認されるまで時間がかかります。