ata*_*adi 5 firebase codeship firebase-tools
我正在使用Codeship来部署firebase应用程序.为此,我首先需要使用该firebase login命令登录.问题是,我需要在浏览器中登录然后返回命令行并执行部署.是否有自动方式向Firebase提供凭据?
干杯
wvm*_*008 11
对于旧版本的firebase-tools,接受的答案是正确的,但是从版本3开始不推荐使用.获取令牌的新命令是:
firebase login:ci
Run Code Online (Sandbox Code Playgroud)
您应该将其保存在某种环境变量中,理想情况下是FIREBASE_TOKEN.
然后,对于您打算通过ci(ie deploy)运行的任何命令,您可以运行:
firebase [command] --token [FIREBASE_TOKEN]
Run Code Online (Sandbox Code Playgroud)
有关更新版本,请参阅wvm2008 的答案
一种选择是为构建服务器创建一个令牌并将其传递到 CLI 中:
firebase --token <token>
Run Code Online (Sandbox Code Playgroud)
您还可以从您交互式登录的系统获取令牌:
firebase login:ci
Run Code Online (Sandbox Code Playgroud)
请参阅此页面了解更多选项。
答案:环境变量。
具体来说,使用安装了浏览器和 firebase 工具的机器,运行firebase login:ci --no-localhostfirebase CLI 工具生成的密钥并将其粘贴到环境变量中,并将其命名为 FIREBASE_TOKEN(而不是 $FIREBASE_TOKEN)。
在您的部署中,说
npm install -g firebase-tools
firebase deploy
Run Code Online (Sandbox Code Playgroud)
完毕。如果你关心为什么?继续阅读。
firebase/firebase-tools repo README 指出了以下有关使用 CI 系统的信息。
Firebase CLI 需要浏览器才能完成身份验证,但与 CI 和其他无头环境完全兼容。
在带有浏览器的机器上,安装 Firebase CLI。运行
firebase login:ci以登录并打印出新的访问令牌(当前 CLI 会话不会受到影响)。
注意:您实际上想要输入 firebase login:ci --no-localhost
在 CI 系统中以安全但可访问的方式存储输出令牌。运行 Firebase 命令时,有两种方法可以使用此令牌:
将令牌存储为环境变量 FIREBASE_TOKEN,它将被自动使用。
--token <token>在 CI 系统中运行带有标志的所有命令。
更大的注意不要在你的环境变量前面加上 $ 否则你会在下面得到一个无意义的错误消息!!!
Your CLI authentication needs to be updated to take advantage of new features.
Please run firebase login --reauth
Error: Command requires authentication, please run firebase login
令牌加载的优先顺序是标志、环境 变量、活动项目。
建议使用环境变量,这样秘密令牌就不会在日志中存储/可见。
| 归档时间: |
|
| 查看次数: |
5237 次 |
| 最近记录: |