是否可以自动方式访问Google Cloud Source Repository,即使用service account从GCE实例访问?
我在文档中看到的唯一身份验证方法是使用gcloud auth login
命令,该命令将验证我的个人用户访问存储库,而不是我运行命令的计算机。
答案 0 :(得分:6)
运行GCE vms
gcloud source repos clone default ~/my_repo
应自动运行,无需额外的身份验证步骤,因为它将使用VMs服务帐户。
如果您在其他计算机上运行,可以从https://console.cloud.google.com服务帐户.json密钥文件下载并使用
激活它gcloud auth activate-service-account --key-file KEY_FILE
然后运行上面的克隆命令。
答案 1 :(得分:3)
如果您希望使用git
进行克隆而不是通过gcloud
进行克隆,则可以运行:
git config --global credential.helper gcloud.sh
...然后这将有效:
git clone https://source.developers.google.com/p/$PROJECT/r/$REPO
答案 2 :(得分:2)
万一像我这样的人试图将其作为Dockerfile的一部分,经过一段时间的努力,我只能设法使其工作:
RUN gcloud auth activate-service-account --key-file KEY_FILE ; \
gcloud source repos clone default ~/my_repo
如您所见,使其成为同一RUN命令的一部分是关键,否则它将不断失败
ERROR: (gcloud.source.repos.clone) You do not currently have an active account selected.
答案 3 :(得分:1)
gcloud source repos clone <repo_name_in_cloud_source> <target_path_to_clone_into>
答案 4 :(得分:0)
如果您在GCE上运行,请利用需要较少代码行的新身份验证方法。
创建VM实例时,在&#34; Access&amp;安全,&#34;设置&#34;云平台&#34;到&#34;已启用。&#34;
然后验证码就这么简单:
file:///
请参阅 https://developers.google.com/identity/protocols/application-default-credentials