首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"gcloud auth激活-服务-帐户“和"gcloud源repos克隆”错误

"gcloud auth激活-服务-帐户“和"gcloud源repos克隆”错误
EN

Stack Overflow用户
提问于 2018-01-23 00:32:07
回答 1查看 3.5K关注 0票数 3

我想一起使用以下工具:

  • Docker
  • gcloud SDK
  • gcloud服务帐户
  • gcloud Source (作为项目依赖关系的一部分)

我正在采取的步骤:

1)登录到Google控制台:https://console.cloud.google.com/iam-admin/serviceaccounts/project?project=project-name

2)创建一个服务帐户,现在授予“所有者”权限,并将json密钥下载为帐户-name.json。

3)添加一个Dockerfile:

代码语言:javascript
复制
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-name

4)建造和运行码头:

代码语言:javascript
复制
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来使其工作呢?

EN

回答 1

Stack Overflow用户

发布于 2018-01-23 19:32:49

您需要运行的唯一gcloud命令是

代码语言:javascript
复制
gcloud auth activate-service-account --key-file /tmp/account-name.json

它设置core/account属性。在那之后

代码语言:javascript
复制
gcloud source repos clone default --project=project-name

应该工作(不需要设置项目,因为您指定了命令的一部分)。

确保安装了git,并且它必须在路径上。

需要注意的一点是,gcloud将激活的凭据存储在~/.config/gcloud目录中。这可能不是你想要的。您可以通过将CLOUDSDK_CONFIG环境变量设置为指向另一个位置来更改它,最好不是码头映像本身的一部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48392423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档