gsutil ConfigParser.ParsingError:文件包含解析错误

时间:2018-11-29 09:05:33

标签: gcloud configparser gsutil

我正在使用pink-room's fastlane firebase test lab plugin在快车道上工作,它需要一个gcloud服务帐户才能连接到Firebase并将文件上传到存储桶。

需要该服务帐户,因为该脚本在docker容器中运行,该容器不能为人类所用。

Gcloud命令似乎可以正常工作,因为测试已按预期启动,但是用于上传原始结果的gsutil命令失败。

加载此服务帐户后,gsutil命令会停止运行,因为它们会抛出ConfigParser.ParsingError“文件包含解析错误”。

这是我尝试执行gsutil version -l以收集更多信息时得到的信息:

Exit status of command 'gsutil version -l' was 1 instead of 0.
Traceback (most recent call last):
  File "/usr/local/gcloud/google-cloud-sdk/platform/gsutil/gsutil", line 22, in <module>
    gsutil.RunMain()
  File "/usr/local/gcloud/google-cloud-sdk/platform/gsutil/gsutil.py", line 116, in RunMain
    import gslib.__main__
  File "/usr/local/gcloud/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 39, in <module>
    import boto
  File "/usr/local/gcloud/google-cloud-sdk/platform/gsutil/third_party/boto/boto/__init__.py", line 53, in <module>
    config = Config()
  File "/usr/local/gcloud/google-cloud-sdk/platform/gsutil/third_party/boto/boto/pyami/config.py", line 63, in __init__
    self.read(BotoConfigLocations)
  File "/usr/lib/python2.7/ConfigParser.py", line 305, in read
    self._read(fp, filename)
  File "/usr/lib/python2.7/ConfigParser.py", line 546, in _read
    raise e
ConfigParser.ParsingError: File contains parsing errors: /builds/project-0/gcloud
/legacy_credentials/<service account mail>/.boto
    [line  3]: '/legacy_credentials/<service account mail>/adc.json'

这是我的.boto文件:

[Credentials]
gs_service_key_file = /builds/project-0/gcloud/legacy_credentials/<service account mail>/adc.json

有人知道此错误来自何处,如何解决?

1 个答案:

答案 0 :(得分:2)

您说您的boto文件只有两行,但是根据您的错误消息,我认为情况并非如此:)我正在猜测要么其中存在空白没有看到(某些Unicode字符可能无法在编辑器中正确呈现?),或者您没有完全按照文件中显示的内容复制/粘贴内容。

找到类似的问题in this blog post后,我注意到您看到的错误将打印出发现的每个有问题的行的 entire 内容。它说它正在打印第3行(如果boto文件只有2行,那是不可能的),但没有显示gs_service_key_file =文本。我想您的boto文件中的gs_service_key_file =/build/project-0/...之间会有换行符。