我的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_BRANCH
将master
设置为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/