A在gitlab CI/CD中设置gcloud服务帐户

A在gitlab CI/CD中设置gcloud服务帐户,gitlab,google-kubernetes-engine,gcloud,Gitlab,Google Kubernetes Engine,Gcloud,我正在使用gcloud-service-key.json从gitlab-ci.yml文件向gcloud部署服务。我得到这个错误 $google cloud sdk/bin/gcloud auth激活服务帐户--密钥文件 ${HOME}/gcloud-service-key.json错误:gcloud崩溃(ValueError):否 可以检测到密钥 在下面查找代码片段的子集 -apk add--update make ca certificates openssl python--reposit

我正在使用gcloud-service-key.json从gitlab-ci.yml文件向gcloud部署服务。我得到这个错误

$google cloud sdk/bin/gcloud auth激活服务帐户--密钥文件 ${HOME}/gcloud-service-key.json错误:gcloud崩溃(ValueError):否 可以检测到密钥

在下面查找代码片段的子集

-apk add--update make ca certificates openssl python--repositoryhttps://alpine.global.ssl.fastly.net/alpine/v3.10/community --存储库https://alpine.global.ssl.fastly.net/alpine/v3.10/main &&rm-fR/var/cache/apk/*
-更新ca证书
#将我们的GCP服务帐户私钥写入文件
-echo$GCLOUD\u SERVICE\u KEY>${HOME}/GCLOUD-SERVICE-KEY.json
#下载并安装谷歌云SDK
-wgethttps://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz
-tar zxvf google-cloud-sdk.tar.gz&./google-cloud-sdk/install.sh--使用情况报告=false--路径更新=true
-谷歌云sdk/bin/gcloud——安静组件更新

-google cloud sdk/bin/gcloud auth activate service account——密钥文件${HOME}/gcloud service key.json
您的密钥文件似乎有问题。尝试使用gcloud生成新的:

$ gcloud iam service-accounts keys create key1.json --iam-account=test123@xxxxx.iam.gserviceaccount.com
created key [6ca5ffc929f31d1f1915d430887a7fa3689eb69d] of type [json] as [key1.json] for [test123@xxxxx.iam.gserviceaccount.com]
如果有疑问,也可以随意查看

您的
json
密钥文件应如下所示:

{
  "type": "service_account",
  "project_id": "xxxxxx,
  "private_key_id": "6ca5ffc929f31d1f1915d430887a7fa3689eb69d",
  "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAAsdfsd234fesSiAgEAAoIBAQDKnmI67Aw3DgHM\n1b25LH1jRAV0pt6hjTEeJGH$
  "client_email": "test123@xxxxx.iam.gserviceaccount.com",
  "client_id": "110107674812168412361",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test123@xxxxx.iam.gserviceaccount.com"
}

如果文件的外观不同,请检查
echo$GCLOUD\u SERVICE\u KEY>${HOME}/GCLOUD SERVICE KEY.json
部分。
$GCLOUD\u SERVICE\u KEY
变量可能有问题

此外,如果您对激活帐户有任何疑问,也可以使用