在 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
不太熟悉,所以我会提到一些可能的解决方案,您可以看到最适合您的解决方案。
如果文件足够小,你可以对文件进行base64编码,将其作为私有环境变量存储在CircleCI上,然后在构建过程中将变量解码回文件。
如果 API 密钥是文件的唯一秘密部分,您可以将 API 密钥存储在私有环境变量中,用模板替换文件中的它%API_KEY%
等文本,然后在构建期间,使用 sed
.
将模板文本替换为密钥
在提交之前加密整个文件并将解密密钥存储为私有环境变量。
将文件存储在安全的地方,并在构建期间使用 SSH 检索它。
有用的链接:
- CircleCI Environment Variables
- sed
- base64
我已将我的 Android 项目存储库链接到 CircleCI,当我构建时,我收到一个 gradlew lint 错误,指出 google-services.json 不存在。有什么方法可以将 google-services.json 添加到我的项目中,而无需将其提交到存储库?
我正在使用 firebase 作为我项目的后端
免责声明:CircleCI 开发者倡导者
我对 google-services.json
不太熟悉,所以我会提到一些可能的解决方案,您可以看到最适合您的解决方案。
如果文件足够小,你可以对文件进行base64编码,将其作为私有环境变量存储在CircleCI上,然后在构建过程中将变量解码回文件。
如果 API 密钥是文件的唯一秘密部分,您可以将 API 密钥存储在私有环境变量中,用模板替换文件中的它
%API_KEY%
等文本,然后在构建期间,使用sed
. 将模板文本替换为密钥
在提交之前加密整个文件并将解密密钥存储为私有环境变量。
将文件存储在安全的地方,并在构建期间使用 SSH 检索它。
有用的链接: - CircleCI Environment Variables - sed - base64