nuxt generate失败,但是github workflow不知道,仍然强行部署,导致网站显示错误。

我之前的代码:

run: npm install && npm run generate

如果出错,理论上 github workflow 会中断。问题出在npm run generate上,nuxt generate如果单个页面报错,会显示错误信息,但不会输出错误信号,所以 github workflow 不知道。

我更改后的代码加上了两个检测,如果有错误信号,退出,如果输出有关键字符串Composer.onError,退出。

run: |
  output=$(npm install && npm run generate)
  echo "$output"
  if [ $? -ne 0 ]; then
    echo "Installation or build failed, command execution returned a non-zero status code."
    exit 1
  fi
  if echo "$output" | grep -i "at Composer.onError"; then
    echo "Installation or build failed because output contains 'at Composer.onError'."
    exit 1
  fi