在我们的组织中,我们有一个用于所有云功能的repo。它们都是用Python编写的。我们不得不创建另一个云函数,并决定用NodeJS编写它。
这个新的云功能在一个新的回购中,在一个全新的项目中。旧功能和新功能之间没有关系。
我读到,如果我使用firebase deploy --only functions
,它将部署index.js
文件中的所有函数,但我不确定它是否会删除其他函数,因为在我的index.js
文件中没有任何关于用Python编写的其他云函数的内容。
使用firebase deploy --only functions
部署我的新功能安全吗?我不想替换其他功能,只想添加我的新功能。
谢谢!
如果运行firebase deploy
或firebase deploy-only函数,firebase可能会替换项目中的所有云函数。
如果您只想部署一个函数或一组函数,可以将其指定为附加参数:
firebase deploy --only functions:yourNewFunction
另请参阅有关部署特定功能的Firebase文档。
我刚刚测试过,每当使用firebase deploy
或firebase deploy --only functions
部署函数,而index.js
找不到函数名称时,它就会显示以下消息:
The following functions are found in your project but do not exist in your local source code:
<function_name>(<region>)
If you are renaming a function or changing its region, it is recommended that you create the new function first before deleting the old one to prevent event loss. For more info, visit https://firebase.google.com/docs/functions/manage-functions#modify
如果某个函数与已部署的某个云函数同名,它将替换旧函数。但如果它有一个不同的名字,它不应该被替换,你应该是安全的。如果您仍然感到不确定,请随时使用快速启动功能进行测试。