Firebase工具从命令行登录
我正在使用Codeship部署firebase应用程序。 为此,我首先需要使用Firebase工具从命令行登录,firebase,codeship,firebase-tools,Firebase,Codeship,Firebase Tools,我正在使用Codeship部署firebase应用程序。 为此,我首先需要使用firebase login命令登录。问题是,我需要登录浏览器,然后返回命令行并执行部署。 是否有一种自动方式向Firebase提供凭据 干杯请参阅最新版本 一个选项是使用以下命令将其发送并传递到CLI: firebase --token <token> 有关更多选项,请参阅。对于旧版本的firebase tools,接受的答案是正确的,但从第3版开始,该选项已被弃用。获取令牌的新命令是: firebas
firebase login
命令登录。问题是,我需要登录浏览器,然后返回命令行并执行部署。
是否有一种自动方式向Firebase提供凭据
干杯请参阅最新版本
一个选项是使用以下命令将其发送并传递到CLI:
firebase --token <token>
有关更多选项,请参阅。对于旧版本的firebase tools,接受的答案是正确的,但从第3版开始,该选项已被弃用。获取令牌的新命令是:
firebase login:ci
您应该将其保存在某种环境变量(理想情况下是FIREBASE_令牌)中
然后,使用您打算通过ci运行的任何命令(即deploy
),您可以运行:
firebase [command] --token [FIREBASE_TOKEN]
firebase登录——没有本地主机对我有效。您可以从浏览器中获取授权代码,需要将其粘贴到终端窗口中。答案:环境变量 具体来说,使用安装了浏览器和firebase工具的计算机,运行
firebase login:ci--no localhost
,并将firebase CLI工具生成的密钥粘贴到环境变量中,并将其命名为firebase_TOKEN(而非$firebase_TOKEN)
在您的部署中,例如
npm install -g firebase-tools
firebase deploy
完成了。如果你在乎为什么?继续读下去
firebase/firebase tools repo自述文件指出了以下有关内容
Firebase CLI需要浏览器来完成身份验证,但是
与CI和其他无头环境完全兼容
在带有浏览器的计算机上,安装Firebase CLI。运行firebase
login:ci
登录并打印新的访问令牌(当前CLI
会话将不受影响)
注意:您实际上想要键入firebase登录:ci——无本地主机
以安全但可访问的方式将输出令牌存储在CI中
系统。在运行Firebase时,有两种方法可以使用此令牌
命令:
将令牌存储为环境变量FIREBASE_token,它将
自动使用。使用--token
您的CI系统中的标志
- 我错过了那个参考资料。谢谢请注意,此答案适用于旧版本的firebase工具。请参见下面wvm2008的答案。如果您使用环境变量FIREBASE_TOKEN,那么您只需要FIREBASE[command]并自动使用它,除非您指定了--TOKEN标志,该标志不是首选标志,因为它在日志中显示密钥。(见我的ANWR)。不要在env var前面加$!!!!这是正确的答案,也是最简单的答案。
npm install -g firebase-tools firebase deploy