如何使用Google Services Gradle Plugin在Circle CI上测试Android应用程序

nib*_*ori 7 git android circleci

我正在使用Google Services Gradle Plugin开发Android应用程序(Firebase需要它),插件需要google-services.json.

我认为json文件不应该受git的控制,因为它有一些应该被隐藏的值(例如api_key),但是Circle CI需要一个.

如果google-services.json可以查找环境变量,则问题可以解决.(值隐藏在git存储库中,而Circle CI可以从环境变量中获取值).
但是,我找不到google-services.json查找环境变量的机制.

我有三个问题.

1)应该从VCS中忽略google-services.json吗?
2)Google Services Gradle Plugin是否具有从google-services.json查找环境变量的机制?
3)是否有其他方式从Circle CI引用google-services.json?

Luk*_*ner 16

1)是的,应该 - 它包含敏感信息,如API密钥.

2)我不这么认为

3)您可以使用https://circleci.com/docs/google-auth/中的类似方法

  • 在base64中编码你的google-services.json.确保从编码的字符串中删除任何空格
  • 将它放在Circle CI的项目设置中的环境变量(我将其命名为GOOGLE_SERVICES)
  • 在你的circle.yml中将此变量解码为app目录中的google-services.json文件.在我的情况下,我使用

    echo $GOOGLE_SERVICES | base64 --decode > ~/${HOME}/app/google-services.json

  • `echo $ GOOGLE_SERVICES | base64 -di> app / google-services.json`对我有用 (2认同)