Syl*_*ota 4 gitlab gitlab-ci gitlab-ci-runner kaniko
我正在尝试使用 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 解析得很好。
那么,这可能是一个权限问题吗?
谢谢
空$CI_REGISTRY_IMAGE可能意味着“容器注册表”未为此项目或全局启用。
如果您在存储库页面左侧窗格的“包和注册表”下看不到“容器注册表”,请转到“设置 > 常规”,展开“可见性、项目功能、权限”,向下滚动到“容器注册表”并设置为您的需求。
检查主机上是否启用了容器注册表(大多数情况下是默认启用的)。
| 归档时间: |
|
| 查看次数: |
13871 次 |
| 最近记录: |