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

时间:2016-08-21 11:05:37

标签: android git 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?

1 个答案:

答案 0 :(得分:14)

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