创建新工作时出现 Jenkins 错误?
问题:创建新工作时出现 Jenkins 错误? 我会请你检查一些东西,因为我不确定它是否是 Jenkins 错误,或者它是否与我们的内部设置有关。请告诉我在工作名称中使用大写字母时是否也遇到异常。 错误描述: 当我按下“创建”按钮时,Jenkins 服务器上的 tomcat cpu 使用率直接爆炸到 99%,新创建的作业的配置页面永远不会显示,停止加载浏览器对 CPU 使用率没有影响。 在意识到我
问题:创建新工作时出现 Jenkins 错误?
我会请你检查一些东西,因为我不确定它是否是 Jenkins 错误,或者它是否与我们的内部设置有关。请告诉我在工作名称中使用大写字母时是否也遇到异常。
错误描述:
当我按下“创建”按钮时,Jenkins 服务器上的 tomcat cpu 使用率直接爆炸到 99%,新创建的作业的配置页面永远不会显示,停止加载浏览器对 CPU 使用率没有影响。
在意识到我想检查更多详细信息并转到监控页面后。我使用 Jenkins 的监控插件。我发现的是“当前请求”中一直在运行的线程......名为“checkJobName”。我手动将其杀死,服务器恢复正常。
原因:
阅读“checkJobName”让我想到了一些让我找到解决方案的东西:当我想创建一个新工作时,只要工作键只包含小写字母,一切都很好。当我填写大写字母时,我总是遇到上述错误。
解决方案:
在遇到这个错误之前,我的公司使用正则表达式来限制工作名称。在 Jenkins -> 管理 Jenkins -> 配置系统 -> 限制项目命名下,我们有以下正则表达式:
\bcom.mycompany.\b[a-z0-9]+(([\-]?[a-z0-9]+)+|([\.]?[a-z0-9]+)+)*+$
但似乎这并没有检查整个单词,因为在使用“com.mycompany.test.myUpperCaseTest”之类的名称时仍然允许使用大写字母。为了避免上面的错误,我更改了 RegExp 以便只允许小写:
\bcom.mycompany.\b[a-z0-9]+(([\-]?[a-z0-9]+)*|([\.]?[a-z0-9]+)*)*$
解答
您正在经历灾难性回溯,这可能是因为嵌套循环和可选的[\-]?
和[\.]?
。正如您所经历的那样,当模式_不_匹配时,这通常会很痛苦。
请改用此模式:
^com\.mycompany\.[a-z0-9]+(?:[.\-][a-z0-9]+)*$
-
转义点。你不要
com!mycompany?job
-
[a-z0-9]+
- 一个字。 -
(?:[.\-][a-z0-9]+)*
- 零个或多个单词。在每个单词之前都有一个句号或连字符。
更多推荐
所有评论(0)