我想一起使用以下工具:
我正在采取的步骤:
1)登录到Google控制台:https://console.cloud.google.com/iam-admin/serviceaccounts/project?project=project-name
2)创建一个服务帐户,现在授予“所有者”权限,并将json密钥下载为帐户-name.json。

3)添加一个Dockerfile:
FROM google/cloud-sdk
COPY account-name.json /tmp/account-name.json
RUN gcloud auth activate-service-account --key-file /tmp/account-name.json
RUN rm /tmp/account-name.json
RUN gcloud config set project project-name
RUN gcloud config set account account-name@project-name.iam.gserviceaccount.com
RUN gcloud source repos clone default --project=project-name4)建造和运行码头:
docker build -t service-account-repo .
docker run -ti service-account-repo我得到的错误是:
错误:(gcloud.source.repos.clone)您目前没有选择一个活动帐户。请跑: $ gcloud auth登录 若要获取新凭据,或如果您已使用不同帐户登录: $ gcloud配置设置帐户 若要选择要使用的已通过身份验证的帐户,请执行以下操作。
不管我尝试了哪些命令,包括设置帐户和自动登录,通过docker都不起作用。
如果我在本地运行相同的命令,它就能工作,因为我已经用我的主gcloud帐户登录了。
gcloud服务帐户是否与gcloud源Repos一起工作?是否有人在没有正常帐户登录的情况下有工作示例?我是否需要启用其他云API来使其工作呢?
发布于 2018-01-23 19:32:49
您需要运行的唯一gcloud命令是
gcloud auth activate-service-account --key-file /tmp/account-name.json它设置core/account属性。在那之后
gcloud source repos clone default --project=project-name应该工作(不需要设置项目,因为您指定了命令的一部分)。
确保安装了git,并且它必须在路径上。
需要注意的一点是,gcloud将激活的凭据存储在~/.config/gcloud目录中。这可能不是你想要的。您可以通过将CLOUDSDK_CONFIG环境变量设置为指向另一个位置来更改它,最好不是码头映像本身的一部分。
https://stackoverflow.com/questions/48392423
复制相似问题