詹金斯:部署到firebase。您的刷新令牌已被撤销

时间:2016-05-25 20:41:10

标签: jenkins login firebase continuous-integration firebase-tools

我托管了一个firebase解决方案。每次在git中完成提交时,我都会使用Jenkins构建,运行测试和部署。

所以jenkins运行的最后一个shell命令给了我这个问题:

firebase deploy --non-interactive --token "MY TOKEN GOES HERE"

我从控制台上运行命令

获得此令牌
firebase login:ci

打开浏览器,确认后会给你一个令牌。

但是当我在本地运行命令时这会起作用,但是当我在jenkins上运行它时,我得到:

Error: Your refresh token has been revoked, please login to obtain a
new one.

我的猜测是我需要运行

firebase login:ci

来自运行部署命令的同一个控制台,但我如何在Jenkins中执行此操作?

还有其他猜测吗?

3 个答案:

答案 0 :(得分:0)

这就是我所做的,在jenkins上安装了nodejs插件。然后在Jenkins设置中,配置工具-> NodeJs安装->“要安装的全局npm软件包”,我刚刚将其添加到firebase-tools ..

在我的本地Windows计算机中,我添加了nodejs,然后安装了firebase-tools并运行firebase login:ci,这在我使用凭据登录到Firebase后为我提供了令牌。

在Jenkins中,从构建后的管道脚本中,我执行了以下操作,firebase部署--token'******'。而已。我能够部署它。

答案 1 :(得分:0)

firebase login --no-localhost

将生成一个链接,在任何浏览器中手动打开并生成令牌。

您可以从浏览器复制生成的令牌并将其粘贴到您的 cli 中。

答案 2 :(得分:-1)

我遇到了同样的问题。另外,我们用Jenkins运行firebase。

首先,我们尝试了与您相同的命令。

firebase login:ci

我复制了Firebase提供的网址,在我输入凭据后,我被重定向到localhost。

所以,我尝试了以下命令:

firebase login --interactive

同样,我已经复制了粘贴在浏览器中的URL,但是没有办法粘贴生成的令牌。它始终显示以下消息:

Waiting for authentication...

所以,我尝试了以下命令:

firebase login --no-localhost

然后,它显示了令牌的提示:

? Paste authorization code here: 4/UnzYx4O3aB... 

最后,它可以登录。

我希望这可以帮助别人。