5

是否可以自动将基于 gsutil 的文件上传到谷歌云存储,以便登录时不需要用户干预?

我的用例是有一个 jenkins 作业,它轮询 SCM 位置以更改一组文件。如果它检测到任何更改,它会将所有文件上传到特定的 Google Cloud Store 存储桶。

4

1 回答 1

11

配置凭据后,gsutil 无需进一步干预。我怀疑您gsutil configure以用户 X 的身份运行,但 Jenkins 以用户 Y 的身份运行。因此,~jenkins/.boto不存在。如果您将 .boto 文件放置在正确的位置,您应该已准备就绪。

另一种选择是使用多个 .boto 文件,然后告诉 gsutil 哪个与BOTO_CONFIG环境变量一起使用:

gsutil config  # complete oauth flow
cp ~/.boto /path/to/existing.boto
# detect that we need to upload
BOTO_CONFIG=/path/to/existing.boto gsutil -m cp files gs://bucket

我经常使用此模式将 gsutil 与多个帐户一起使用:

gsutil config  # complete oauth flow for user A
mv ~/.boto user-a.boto
gsutil config  # complete oauth flow for user B
mv ~/.boto user-b.boto
BOTO_CONFIG=user-a.boto gsutil cp a-file gs://a-bucket
BOTO_CONFIG=user-b.boto gsutil cp b-file gs//b-bucket
于 2013-04-03T18:25:49.190 回答