Jenkins: how do I make the color of a failed build due to a workspace issue from red to gray?

最后都变了- 提交于 2019-12-21 04:41:04

问题


Our jenkins build should only be red when there's a problem when building our code such as a compilation problem.

If there's a sysops issue - such as the workspace being full, some slaves are down, ... we need the job to become gray, to indicate there's a problem with Jenkins itself, but that the developers should not be put on high alert.

Here's a job log that needs to turn the job gray instead of red:

04:19:19 ERROR: SEVERE ERROR occurs
04:19:19 org.jenkinsci.lib.envinject.EnvInjectException: hudson.remoting.ChannelClosedException: channel is already closed
04:19:19    at org.jenkinsci.plugins.envinject.service.EnvironmentVariablesNodeLoader.gatherEnvironmentVariablesNode(EnvironmentVariablesNodeLoader.java:75)
04:19:19    at org.jenkinsci.plugins.envinject.EnvInjectListener.loadEnvironmentVariablesNode(EnvInjectListener.java:81)
04:19:19    at org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironment(EnvInjectListener.java:39)
04:19:19    at hudson.model.AbstractBuild$AbstractBuildExecution.createLauncher(AbstractBuild.java:572)
04:19:19    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:492)
04:19:19    at hudson.model.Run.execute(Run.java:1738)
04:19:19    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531)
04:19:19    at hudson.model.ResourceController.execute(ResourceController.java:98)
04:19:19    at hudson.model.Executor.run(Executor.java:410)
04:19:19 Caused by: hudson.remoting.ChannelClosedException: channel is already closed
04:19:19    at hudson.remoting.Channel.send(Channel.java:578)
04:19:19    at hudson.remoting.Request.call(Request.java:130)
04:19:19    at hudson.remoting.Channel.call(Channel.java:780)
04:19:19    at hudson.FilePath.act(FilePath.java:1074)
04:19:19    at org.jenkinsci.plugins.envinject.service.EnvironmentVariablesNodeLoader.gatherEnvironmentVariablesNode(EnvironmentVariablesNodeLoader.java:44)
04:19:19    ... 8 more
04:19:19 Caused by: java.io.IOException
04:19:19    at hudson.remoting.Channel.close(Channel.java:1163)
04:19:19    at hudson.slaves.ChannelPinger$1.onDead(ChannelPinger.java:118)
04:19:19    at hudson.remoting.PingThread.ping(PingThread.java:126)
04:19:19    at hudson.remoting.PingThread.run(PingThread.java:85)
04:19:19 Caused by: java.util.concurrent.TimeoutException: Ping started at 1456305240982 hasn't completed by 1456305480982
04:19:19    ... 2 more
04:19:19 ERROR: Step ‘Archive the artifacts’ failed: no workspace for optaplanner #770

回答1:


Here is a solution using the Conditional BuildStep Plugin and the Fail The Build Plugin:

And here is the console output:

Started by user anonymous
[EnvInject] - Loading node environment variables.
Building on master in workspace /var/lib/jenkins/jobs/test make the build abort/workspace
Run condition [Regular expression match] enabling prebuild for step [BuilderChain]
[workspace] $ /bin/sh -xe /tmp/hudson4695476115086720006.sh
+ echo '04:19:19 Caused by: hudson.remoting.ChannelClosedException: channel is already closed'
04:19:19 Caused by: hudson.remoting.ChannelClosedException: channel is already closed
Regular expression run condition: Expression=[(?is).*channel is already closed.*], Label=[[...truncated 5 lines...]
+ echo '04:19:19 Caused by: hudson.remoting.ChannelClosedException: channel is already closed'
04:19:19 Caused by: hudson.remoting.ChannelClosedException: channel is already closed
]
Run condition [Regular expression match] enabling perform for step [BuilderChain]
Setting result to [Aborted]
Build step 'Conditional steps (multiple)' changed build result to ABORTED
Build step 'Conditional steps (multiple)' marked build as failure
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s
Notifying upstream projects of job completion
Finished: ABORTED

Does it solve your problem? :)



来源:https://stackoverflow.com/questions/35599242/jenkins-how-do-i-make-the-color-of-a-failed-build-due-to-a-workspace-issue-from

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!