在 public 存储库上添加 Google-services.json 以使 CircleCI 运行

Adding Google-services.json for CircleCI to function, on a public repository

我已将我的 Android 项目存储库链接到 CircleCI,当我构建时,我收到一个 gradlew lint 错误,指出 google-services.json 不存在。有什么方法可以将 google-services.json 添加到我的项目中,而无需将其提交到存储库?

我正在使用 firebase 作为我项目的后端

免责声明:CircleCI 开发者倡导者

我对 google-services.json 不太熟悉,所以我会提到一些可能的解决方案,您可以看到最适合您的解决方案。

  1. 如果文件足够小,你可以对文件进行base64编码,将其作为私有环境变量存储在CircleCI上,然后在构建过程中将变量解码回文件。

  2. 如果 API 密钥是文件的唯一秘密部分,您可以将 API 密钥存储在私有环境变量中,用模板替换文件中的它%API_KEY% 等文本,然后在构建期间,使用 sed.

  3. 将模板文本替换为密钥
  4. 在提交之前加密整个文件并将解密密钥存储为私有环境变量。

  5. 将文件存储在安全的地方,并在构建期间使用 SSH 检索它。

有用的链接: - CircleCI Environment Variables - sed - base64