我正在尝试使用 Kaniko 构建/推送我的 docker 镜像到 GitLab 容器注册表(GitLab 自管理 15.3.0,带有 docker runner): https: //docs.gitlab.com/ee/ci/docker/using_kaniko。 html#building-a-docker-image-with-kaniko
正在执行的命令是
$ /kaniko/executor --context "${CI_PROJECT_DIR}/DSPWeb" --dockerfile "${CI_PROJECT_DIR}/DSPWeb/Dockerfile" --destination "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}"
但这会导致此错误:
检查推送权限时出错 - 确保您输入了正确的标签名称,并且您已通过正确的身份验证,然后重试:获取目标标签:必须指定存储库名称
问题似乎是预定义的 CI/CD GitLab 内置变量为空/无法解析。回显变量结果:
$ echo $CI_PROJECT_DIR
/builds/xxx/datashieldingplatform
$ echo $CI_REGISTRY_IMAGE
$ echo $CI_REGISTRY
$ echo $CI_COMMIT_SHA
67de133f333b57f8effed69a497adf256945eb15
Run Code Online (Sandbox Code Playgroud)
CI_PROJECT_DIR 和 CI_COMMIT_SHA 解析得很好。
那么,这可能是一个权限问题吗?
谢谢