如何在GitHub Actions中为Firebase参数化配置CLI传入预设值?
Firebase参数化配置在GitHub Actions中跳过交互的解决方案
问题原因
你之前用ENVIRONMENT=prod firebase deploy无效,是因为代码里的defineString是通过Firebase CLI的交互提示获取值,而非直接读取系统环境变量。CLI的交互提示不会自动识别你设置的环境变量,所以仍会中断流程。
解决方案1:用CLI参数直接传入预设值
Firebase CLI提供了--parameter-values参数,可直接跳过交互,传入参数值:
firebase deploy --parameter-values ENVIRONMENT=prod
如果有多个参数,用逗号分隔即可:
firebase deploy --parameter-values ENVIRONMENT=prod,ANOTHER_PARAM=custom_value
也可以把参数值写入JSON文件(比如params-prod.json):
{ "ENVIRONMENT": "prod" }
然后执行命令:
firebase deploy --parameter-values=params-prod.json
解决方案2:修改代码,通过环境变量设置默认值
如果希望通过环境变量管理配置,可给defineString添加default属性,优先读取环境变量:
const environment = defineString("ENVIRONMENT", { input: { select: { options: [{ value: "prod" }, { value: "staging" }] } }, default: process.env.ENVIRONMENT || "staging" });
之后在GitHub Actions中设置环境变量ENVIRONMENT=prod,再执行firebase deploy,CLI就不会触发交互提示了——参数会自动使用环境变量对应的默认值。
内容的提问来源于stack exchange,提问作者Keunwoo Park
相关产品推荐
相关产品推荐

