首页 > 解决方案 > Firebase 预部署脚本不会因单元测试失败而停止

问题描述

我一直在通过自定义脚本部署我的 firebase 应用程序,package.json例如: "deploy": "ng test --browsers ChromeHeadless --watch=false && ng lint && ng build --prod && firebase deploy --only hosting",

这工作正常,但感觉不是最优雅的解决方案。
我试图将预部署脚本移动到firebase.json

{
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ],
    "source": "functions"
  },
  "hosting": {
    "public": "dist/home",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ],
    "predeploy": [
      "ng test --browsers ChromeHeadless --watch=false",
      "ng lint",
      "ng build --prod"
    ]
  },
  "storage": {
    "rules": "storage.rules"
  }
}

即使它回显了脚本已执行,但我看不到任何输出,ng test也没有停止执行,即使我有一个测试故意失败(package.json如果测试失败,版本会巧妙地停止)。

如何在使用firebase deploy命令部署之前测试我的应用程序?

标签: angularfirebasedeploymentcontinuous-integration

解决方案


推荐阅读