在 GitLab 中运行 CI/CD 管道时出现以下错误。
$ echo "$GCLOUD_SERVICE_KEY" > ${HOME}/gcloud-service-key.json
$ gcloud auth activate-service-account [email protected] --key-file=${HOME}/gcloud-service-key.json
ERROR: (gcloud.auth.activate-service-account) Could not read json file /root/gcloud-service-key.json: No JSON object could be decoded
答案1
我知道这个问题已经很老了,但对于未来的读者来说:
“变量可以受到保护。每当一个变量受到保护时,它只会安全地传递给在受保护的分支或受保护的标签上运行的管道。其他管道不会获得任何受保护的变量。”
=> 受保护的分支或受保护的标签
因此,如果您有一个受保护的变量,那么它将仅适用于受保护的分支。
要将您的分支标记为受保护,请查看以下链接: 受保护的 gitlab 分支
答案2
错误“无法解码 JSON 对象”可能表示不同的问题。
1) 您是否已验证 JSON 文件是否有效。您可以使用在线 JSON 验证器来验证 JSON 文件的格式。
2) 您需要验证所需的 API 是否已启用。
您还可以验证 GCP 页面以了解不同的JSON 格式示例。