Firebase工具从命令行登录

Firebase工具从命令行登录,firebase,codeship,firebase-tools,Firebase,Codeship,Firebase Tools,我正在使用Codeship部署firebase应用程序。 为此,我首先需要使用firebase login命令登录。问题是,我需要登录浏览器,然后返回命令行并执行部署。 是否有一种自动方式向Firebase提供凭据 干杯请参阅最新版本 一个选项是使用以下命令将其发送并传递到CLI: firebase --token <token> 有关更多选项,请参阅。对于旧版本的firebase tools,接受的答案是正确的,但从第3版开始,该选项已被弃用。获取令牌的新命令是: firebas

我正在使用Codeship部署firebase应用程序。 为此,我首先需要使用
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