use*_*159 12 console-output jenkins jenkins-plugins
我有一个拥有100多个版本的Jenkins工作.我需要搜索该作业的所有构建,以查找在控制台输出中具有特定字符串的构建.那有插件吗?我怎么做?
Dav*_*her 13
我经常使用Jenkins脚本控制台执行此类任务.在Groovy插件提供了脚本控制台,但如果你要使用脚本控制台定期维护,你还需要在Scriptler插件,它允许你管理你运行的脚本.
从Manage Jenkins - > Script Console,您可以编写一个groovy脚本,遍历作业的构建,寻找匹配的字符串:
JOB_NAME = "My Job"
BUILD_STRING = "Hello, world"
def job = Jenkins.instance.items.find { it.name == JOB_NAME }
for (build in job.builds) {
def log = build.log
if (log.contains(BUILD_STRING)) {
println "${job.name}: ${build.id}"
}
}
Run Code Online (Sandbox Code Playgroud)
如果没有其他要求,我会在shell中进行,例如:
find $JENKINS_HOME/jobs/haystack -name log -exec grep -l needle {} \; \
| sed 's|.*/\(.*\)/log|\1|'
Run Code Online (Sandbox Code Playgroud)
要搜索所有作业的日志:
我增强了 @DaveBacher 的代码以在 Jenkins 脚本控制台中运行。帮助我定位多个作业中发生的偶发错误。
NEEDLE = "string_i_am_looking_for"
for (job in Jenkins.instance.getAllItems(Job.class)) {
for (build in job.builds) {
def log = build.log
if (log.contains(NEEDLE)) {
println "${job.name}: ${build.id}"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25106 次 |
| 最近记录: |