我需要扫描Jenkins日志,并且日志中是否有类似“ Failed”的内容。詹金斯不应该继续并将工作标记为失败。
答案 0 :(得分:1)
您可能需要log-parser
插件。
它解析由Jenkins构建生成的控制台日志。
您有两个有用的选择:
“在警告时标记构建不稳定”选项:检查已分析的警告将构建标记为“不稳定”。
“将构建标记为错误时失败”选项:检查已分析的错误将构建标记为“失败”。
看看:https://wiki.jenkins.io/display/JENKINS/Log+Parser+Plugin
对于声明性管道,请尝试:
step([$class: 'LogParserPublisher', failBuildOnError: true, parsingRulesPath: '<parser rule file>', useProjectRule: false])
答案 1 :(得分:0)
我在解析器配置中遇到了这样的建议,使它失败了:
# ERRORS
error /make to fail/
在Jenkins管道中,如下所示:
node ('') {
try {
node {
echo 'make to fail'
}
} finally {
node {
step([$class: 'LogParserPublisher', failBuildOnError: true, parsingRulesPath: '/opt/jenkins/log_parsers/log_parser', useProjectRule: false])
}
}
}
任何人都找不到在解析器配置中使用类似这样的方法来获取版本“ UNSTABLE”的方法:
# WARNINGS
warning /make to unstable/
有人对如何实现这一目标有想法吗?
答案 2 :(得分:0)
使用findText很容易。
// stop if failure found
findText alsoCheckConsoleOutput: true, notBuiltIfFound: true, regexp: "${KEY_ERROR_MSG}"
if (currentBuild.result == 'NOT_BUILT') {
error("${KEY_ERROR_MSG}")
}
请注意,此操作可以分阶段直接运行,这意味着您无需等待所有阶段都可以运行此命令。