kubernetes - Gitlab CI管道失败:标记问题

标签 kubernetes continuous-integration yaml pipe

我的gitlab CI管道设置为从我的maven项目创建的docker镜像运行maven测试。
我已经在我的master分支上测试了管道,并且工作正常并运行了测试。
但是,我创建了一个新的功能分支,现在再次运行管道,但是现在出现此错误

error checking push permissions -- make sure you entered the correct tag name, and that you are authenticated correctly, and try again: getting tag for destination: repository can only contain the runes `abcdefghijklmnopqrstuvwxyz0123456789_-./`: it2901/cs344-maven:feature/produce-allocation-pdf
ERROR: Job failed: command terminated with exit code 1
我似乎根本无法指出问题所在。我也将标记:tut3也推送到了功能分支。
这是我的.gitlab-ci.yml:https://controlc.com/7a94a00f

最佳答案

根据您共享的内容,进行以下配置:

VERSIONLABELMETHOD: "tut3" # options: "","LastVersionTagInGit"
应该是:
VERSIONLABELMETHOD: ""
要么
VERSIONLABELMETHOD: "LastVersionTagInGit"
要么
VERSIONLABELMETHOD: "OnlyIfThisCommitHasVersion"
当您指定"tut3"时,脚本会将其视为""(空字符串)。假设您没有在任何地方$VERSIONLABEL也将为空的情况下定义$ADDITIONALTAGLIST
在后面的代码中,您可以看到它已执行:
if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then ADDITIONALTAGLIST="$ADDITIONALTAGLIST latest"; fi
假设如果您使用单独的分支$CI_DEFAULT_BRANCHmaster设置为mybranch,则上述代码将不会执行,因此Kaniko命令行可能没有有效的$FORMATTEDTAGLIST$IMAGE_LABELS
您可以在调用Kaniko之前通过查看脚本末尾的输出来调试它们:
...
echo $FORMATTEDTAGLIST
echo $IMAGE_LABELS
mkdir -p /kaniko/.docker
...
黑客可能会使用自定义分支覆盖$CI_DEFAULT_BRANCH
✌️

关于kubernetes - Gitlab CI管道失败:标记问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63551563/

相关文章:

Azure ACS Kubernetes Windows 容器延迟访问互联网

nginx - 可以从Nginx入口 Controller 中的https重定向中排除一页

docker - 如何在 Docker Compose 文件环境变量中转义此 JSON 字符串?

kubernetes - 使用 kubectl 应用部分 kubernetes list yaml

regex - 用正则表达式重写 YAML frontmatter

kubernetes - 如何将 Kubernetes 集群 IP 列入白名单

kubernetes - 如何在 Helm Chart 中设置 Java 环境变量?

continuous-integration - Hudson Nant Plugin = $WORKSPACE 包含空格的属性

java - 系统间缓存解决方案的持续集成

github - 如何检查头分支是否与 Github 操作中分支拉取请求的特定模式匹配