我正在尝试使用Kaniko构建/将我的码头映像推送到GitLab容器注册表(GitLab自管理15.3.0,带有码头运行程序):https://docs.gitlab.com/ee/ci/docker/using_kaniko.html#building-a-docker-image-with-kaniko
正在执行的命令是
$ /kaniko/executor --上下文"${CI_PROJECT_DIR}/DSPWeb“--dockerfile "${CI_PROJECT_DIR}/DSPWeb/Dockerfile”--目的地"${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}“
但是它导致了这个错误:
错误检查push权限--确保您输入了正确的标记名,并且您已通过正确的身份验证,然后重试:获取目标标记:必须指定存储库名称
问题似乎在于预定义的CI/CD GitLab内建变量是空的/不解决的。对vars的回音结果是:
$ echo $CI_PROJECT_DIR
/builds/xxx/datashieldingplatform
$ echo $CI_REGISTRY_IMAGE
$ echo $CI_REGISTRY
$ echo $CI_COMMIT_SHA
67de133f333b57f8effed69a497adf256945eb15
CI_PROJECT_DIR & CI_COMMIT_SHA正在很好地解决问题。
所以,这可能是许可问题吗?
谢谢
发布于 2022-10-19 06:16:59
空的$CI_REGISTRY_IMAGE
可能意味着“容器注册中心”在这个项目或全局上都没有启用。
如果您无法在存储库页面的左侧窗格中看到"Packages and registry“下的”容器注册表“,请转到”设置>常规“,展开”可见性、项目特性、权限“,向下滚动到”容器注册表“,并根据您的需要设置。
检查主机上是否启用了容器注册表(在大多数情况下,它是默认的)。
https://stackoverflow.com/questions/73899771
复制相似问题