我按照官方GitHub tutorial for use the Firebase CLI(命令行)中描述的步骤使用CI系统(没有浏览器集成的简单操作系统)。我使用我的PC登录firebase并获取令牌(来自浏览器程序)。我在其他系统上复制了令牌,并在所有命令中传递了令牌,但它不起作用。我得到的信息是我需要进行身份验证才能执行这些操作:
firebase login
firebase prefs:token
复制并使用其他系统中的令牌
firebase list --token sdfgfdsg......
有什么问题?
答案 0 :(得分:2)
请确保不要在您的PC上运行firebase logout
,因为这样做会使令牌无效(我们是working on making this clearer now, actually)。
如果没有,请确保您引用令牌:
firebase list --token '-K.....|.....'
auth令牌中包含的字符可能会导致shell错误,如果没有引用该命令,则会阻止命令正常完成。
答案 1 :(得分:1)
使用安装了浏览器和firebase工具的计算机,运行firebase login:ci --no-localhost
并将生成的密钥从firebase CLI工具粘贴到环境变量中,并将其命名为FIREBASE_TOKEN
(不是$FIREBASE_TOKEN
)
在您的部署中,请说
npm install -g firebase-tools
firebase deploy
答案 2 :(得分:0)
我遇到了与Travis相同的问题,问题是travis使用的令牌加密,你必须确保你已经正确地转义了令牌内的管道符号。 在我的情况下像 travis encrypt'FIREBASE_TOKEN = -jksdjksjksdj \ | ksdkjsjk'
希望这会有所帮助,因为如果您这样做,我可以确保您:
firebase deploy --token'-jksdjksjksdj | ksdkjsjk'
在Travis中它只是起作用。 firebase因为某些原因无法识别你的情况下的令牌,你需要找到原因