1

我们正在尝试使用 Jenkins 设置工作流,以使用 github 上的代码构建 docker 图像并将其推回它。

我们已经为 jenkins 设置了一个 github 应用程序,用于访问代码存储库/分支/PR,但似乎虽然我已授予 github 应用程序“包”权限,但我无法使用相同的凭据来推送包。我没有设法使用凭据进行“docker login”,也没有使用 jenkins 文件中的“withRegistry”包装器。

我们确实在环境中设置了 GHCR_Credentials

pipeline {
  agent any
  environment {
    GHCR_CREDENTIALS=credentials('github-app-creds')
  }

然后我们尝试使用以下方式推送构建的图像:

docker.withRegistry('https://ghcr.io', GHCR_CREDENTIALS) {
  dockerImageBuild.push()
}

它失败了,我得到一个错误:

Error response from daemon: Get "https://ghcr.io/v2/": denied: denied

是否可以使用凭据来推送 docker 图像?如果是这样,怎么做?否则我将不得不默认使用 PAT,但它将绑定到我的帐户而不是组织,这是不切实际的。

4

0 回答 0