【发布时间】:2019-06-17 15:46:53
【问题描述】:
我在一台装有 vscode 的 Windows 机器上,并从其中的 bash 终端运行命令。但是发现如果从 cmd 或 powershell 调用,firebase deploy cli 在我的机器上更稳定。有时与 vscode.bash 或 gitbash 终端挂起。
我在 typescript 中有我的云函数,firebase deploy --only functions 运行预部署脚本,例如npm run build
我已将我的 npm 构建脚本更改为 "build": "tsc && npm run copyKeys",,以便它始终确保在部署之前复制对密钥的更改。密钥是部署期间使用的服务帐户密钥。
copyKeys 脚本是"copyKeys": "cp -rf ./src/environments/service.acct.keys/ ./lib/environments/",,这在 bash 中运行良好。
但我需要第二个 xcopyKeys4Win 脚本,以便在使用 powershell 时变为 "xcopyKeys4Win": "XCOPY .\\src\\environments\\service.acct.keys .\\lib\\environments\\service.acct.keys /s /e /y /i",它在 PS 上运行良好。
现在我的问题是当我调用npm run deploy 时,这调用firebase deploy --only functions 运行调用npm run build 的firebase 预部署脚本,并且此构建脚本被硬编码为... npm run copyKeys 或... npm run xcopyKeys4Win。
我需要以某种方式有条件地调用“npm run deploy”,具体取决于是否需要 bash cp,例如在 mac/linux/vscode.bash/gitbash 上,如果使用 cmd 或 PS,则为 xcopy。
例如类似于 npm 构建脚本中的 firebase 托管目标设置或条件或其他内容,有人有什么想法吗?
【问题讨论】:
标签: typescript google-cloud-functions firebase-tools