Jenkins Git插件,错误:名称必须遵循模式

99次阅读
没有评论

问题描述

在启动Jenkins流水线时遇到了一个错误,出现在SCM步骤的配置中(通过插件配置,而不是通过Groovy代码)。
错误信息提到了一个拼写错误的“Name”,但用户无法确定它指的是哪个字段。
用户查看了源代码,但它操作的是几个输入的拼接…
这是一个git SCM。
Jenkins Git插件,错误:名称必须遵循模式

ERROR: Name must follow the pattern ‘^[a-zA-Z0-9]+((.|_|__|-+)[a-zA-Z0-9]+)*$’
at hudson.util.FormValidation._errorWithMarkup(FormValidation.java:268)
at hudson.util.FormValidation.errorWithMarkup(FormValidation.java:254)
at hudson.util.FormValidation.error(FormValidation.java:145)
at hudson.util.FormValidation.error(FormValidation.java:170)
at org.jenkinsci.plugins.docker.commons.credentials.ImageNameValidator.validateName(ImageNameValidator.java:289)
at org.jenkinsci.plugins.docker.commons.credentials.ImageNameValidator.validateUserAndRepo(ImageNameValidator.java:115)
at org.jenkinsci.plugins.docker.commons.credentials.ImageNameValidator.checkUserAndRepo(ImageNameValidator.java:141)
at org.jenkinsci.plugins.docker.commons.credentials.ImageNameValidator$checkUserAndRepo.call(Unknown Source)
+ 50 lines I can show if needed

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据堆栈跟踪信息,这个错误是由于Docker镜像名称验证器(ImageNameValidator)引起的,而不是你的Git SCM。
根据用户的评论,这个错误是由于Jenkins参数生成的镜像名称被拒绝导致的。可能是由于安全问题,这个功能现在被禁用了。所以,${abc}这样的字符串被ImageNameValidator拒绝了。令人痛苦的是,错误消息没有显示被分析的字符串。
如果你认为这个问题是由于安全补丁导致的,不允许在变量中注入Docker镜像名称,那么可能需要在Jenkins代码中进行修补。

方案2

根据用户的评论,这个问题可能是由于正则表达式只接受'而不接受"导致的。如果是这样,可能需要在Jenkins代码中进行修补。

以上是解决这个问题的两种可能方案。根据你的具体情况选择适合你的方案进行尝试。

注意:在进行任何修改之前,请确保备份你的代码和配置文件。

希望这些解决方案能帮助到你解决问题。如果你有任何其他问题,请随时提问。

正文完