Nuxt.jsのv2.14.4でリリースされた、CI/CD によるデプロイまたはビルド失敗時にエラーにする「–fail-on-error」オプションが導入されたので使ってみました。
ページエラーが発生した際に 0 以外のステータスコードを返し、CI/CD によるデプロイまたはビルドを失敗させることができます。
今まで、静的ページ生成時にエラーが出てもビルドが止まらず、一部ページが404になったままデプロイされることがあったため、活用してみました。
参考:
–fail-on-errorの導入方法
generateコマンドに「–fail-on-error」オプションをつけるだけです。
1 | $ npm run generate --fail-on-error |
実際に使用しているのは、generateの代わりにnuxt build && nuxt export使っているので、以下のようなコマンドで「–fail-on-error」オプションをつけています。
・package.json
1 2 3 4 5 6 7 | ... "generate:stg": "cross-env NODE_ENV=\"staging\" nuxt build && nuxt export --fail-on-error", "generate:prod": "cross-env NODE_ENV=\"production\" nuxt build && nuxt export --fail-on-error", ... |
実際にBitbucket Pipelineでgenerateが失敗した時の挙動を確認する
では実際にgenerateで静的ファイル生成に失敗させた時の挙動を確認します。エラーになって、Bitbucket Pipelineが「Failed」になり、デプロイさせなければ成功です。
「Nuxt Fatal Error」となり、Pipelineは停止し「Failed」になりました。これで安心して夜間の自動ビルド・デプロイができるようになりました。