3

我托管了一个 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 中做到这一点?

还有其他猜测吗?

4

3 回答 3

0

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

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

在 Jenkins 中,从构建后的管道脚本,我只是做了以下,firebase deploy --token '******'。而已。我能够部署它。

于 2020-04-08T23:24:41.433 回答
0
firebase login --no-localhost

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

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

于 2021-01-03T04:44:58.100 回答
-2

我已经通过了同样的问题。此外,我们这样做是为了与 Jenkins 一起运行 firebase。

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

firebase login:ci

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

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

firebase login --interactive

同样,我复制了 URL,粘贴到浏览器中,但无法粘贴生成的令牌。它始终显示以下消息:

Waiting for authentication...

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

firebase login --no-localhost

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

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

所以最后,它可以登录了。

我希望这可以帮助某人。

于 2017-04-25T22:05:35.583 回答