我正在使用wercker。
我正在尝试在内部/ docker-push中为GCR推送容器。
但是错误消息显示为belog:

Error interacting with this repository: gcr.io/my-gcr-project/wercker PUT https://gcr.io/v1/repositories/my-gcr-project/wercker/ returned 401

我的wercker.yml是
steps:
  - internal/docker-push:
    username: _json_key
    password: $GCR_JSON_KEY_FILE
    registry: https://gcr.io
    repository: gcr.io/my-gcr-project/my-image-name
    tag: test

AND $ GCR_JSON_KEY_FILE是Wercker环境变量

设置如下:
(值被屏蔽。)
GCR_JSON_KEY_FILE:

{
  "type": "",
  "project_id": "",
  "private_key_id": "",
  "private_key": "",
  "client_email": "",
  "client_id": "",
  "auth_uri": "",
  "token_uri": "",
  "auth_provider_x509_cert_url": "",
  "client_x509_cert_url": ""
}

我该怎么办?

最佳答案

从Google Cloud Console下载JSON密钥文件后,将其打开并删除空白。将其保留为单行JSON。如果将其粘贴在Wercker GUI中,则会被'\ n'污染,并且GCR身份验证将失败。

10-06 01:18