gpt4 book ai didi

firebase - Firebase Admin SDK 导致 Circle CI 失败

转载 作者:行者123 更新时间:2023-12-04 01:52:20 24 4
gpt4 key购买 nike

我有一个使用 Firebase Admin SDK 的 Express API。

目前,由于无法连接到 Firebase,我的应用程序无法在测试阶段初始化,因此 CI 失败。

我有一个 serviceAccountKey.json我项目根目录中的文件,我按如下方式导入..

import * as fbseAdmin from 'firebase-admin'

const FIREBASE_DB_URI = process.env.FIREBASE_DB_URI
const serviceAccount = require('../serviceAccountKey.json')

fbseAdmin.initializeApp({
credential: fbseAdmin.credential.cert(serviceAccount),
databaseURL: FIREBASE_DB_URI
})

export default fbseAdmin

此文件从源代码管理中排除,因为它包含敏感信息。

我遇到的第一个问题是当我的 CI 构建运行时,测试失败为 Error: Cannot find module '../serviceAccountKey.json'
如何最好地解决这个问题?我应该模拟文件吗?我不希望在我的解决方案周围保留一个模拟文件。

其次,我相信如果 Firebase 没有正确初始化,应用程序将无法启动。

我应该设置一个模拟 Firebase 项目进行测试吗?

最佳答案

如果您需要初始化您的应用,则需要您的 Firebase 证书的有效实例。

如果您不想将您的证书文件 checkin 源代码管理,我同意这是最好的主意,那么您可以改为在 Firebase 控制台中设置另一个应用程序,严格用于测试目的。

使用此应用程序,您可以对证书进行 Base64 编码,将其设置为构建中的环境变量。

在 CI 容器中运行您的应用程序之前,您只需将解码后的 BASE64 环境变量回显到文件名 myServiceKey.json 中。或类似的东西。

steps:
- checkout
- run: echo $FIREBASE_SERVICE_KEY | base64 -di > ./${FIREBASE_SERVICE_ACCOUNT_CERT_NAME}

这将在项目的根目录中生成用于测试目的所需的文件。

关于firebase - Firebase Admin SDK 导致 Circle CI 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52418566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com