根据注册表对gitlab-runner进行身份验证

时间:2020-10-09 06:41:05

标签: windows docker gitlab quay.io

我一直试图在Windows上安装GitLab运行程序。通常,它可以完成我想要的操作,这意味着它可以拾取GitLab发送的作业并尝试运行它们。

我的问题是我使用了docker executor,并且docker似乎无法连接到存储映像的注册表,无法在容器中提取和运行它。 我的注册表在专用网络上。我无法使用GitLab的注册表。

这是我所做的: 首先,我在码头的组织下创建了一个技术用户(机器人用户)。创建后,该用户将获得一个秘密令牌。该用户有权使用GitLab-runner读取我尝试拉出的docker映像。

为我提供了以下JSON配置:

  "auths": {
    "quay.hostname": {
      "auth": "base64string resulting from user:password encoding",
      "email": ""
    }
  }

(出于安全目的更改了主机名和base64字符串)

因此,我尝试首先使用--env参数在“ gitlab-runner register”命令中传递该json身份验证字符串,如下所示:

--env 'DOCKER_AUTH_CONFIG={"auths": {"quay.hostname": {"auth":"base64string resulting from user:password encoding","email": ""}}}'

它没有任何好处,我发现在配置文件中会更好,因此,在Windows上,我将JSON配置添加到C:\ Users \ myUser.docker \ config.json并重新启动了docker守护程序。

结果: 拿起GitLab发送的作业时,我得到以下信息:

WARNING: Preparation failed: Error response from daemon: Get https://quay.hostname/v2/regulatory_components/gitlab-runner/manifests/latest: unauthorized: authentication required (docker.go:142:32s)  job=4192333 project=43369 runner=rXef5mLf
Will be retried in 3s ...                           job=4192333 project=43369 runner=rXef5mLf
WARNING: Preparation failed: Error response from daemon: Get https://quay.hostname/v2/regulatory_components/gitlab-runner/manifests/latest: unauthorized: authentication required (docker.go:142:32s)  job=4192333 project=43369 runner=rXef5mLf
Will be retried in 3s ...                           job=4192333 project=43369 runner=rXef5mLf
WARNING: Preparation failed: Error response from daemon: Get https://quay.hostname/v2/regulatory_components/gitlab-runner/manifests/latest: unauthorized: authentication required (docker.go:142:32s)  job=4192333 project=43369 runner=rXef5mLf
Will be retried in 3s ...                           job=4192333 project=43369 runner=rXef5mLf
ERROR: Job failed (system failure): Error response from daemon: Get https://quay.hostname/v2/regulatory_components/gitlab-runner/manifests/latest: unauthorized: authentication required (docker.go:142:32s)  duration=1m49.873514s job=4192333 project=43369 runner=rXef5mLf
WARNING: Failed to process runner                   builds=0 error=Error response from daemon: Get https://quay.hostname/v2/regulatory_components/gitlab-runner/manifests/latest: unauthorized: authentication required (docker.go:142:32s) executor=docker runner=rXef5mLf

能请你指教吗?

非常感谢您的关注和参与。

0 个答案:

没有答案