Jenkins:由于工作区问题从红色变为灰色,我如何制作失败版本的颜色?

时间:2016-02-24 10:17:03

标签: jenkins jenkins-plugins

我们的jenkins构建应该只有红色,当构建我们的代码时出现问题,例如编译问题。

如果出现sysops问题 - 例如工作区已满,某些奴隶已经关闭,......我们需要将该作业变为灰色,以指示那里&#39; sa <强烈的> Jenkins本身的问题,但是开发人员应该处于高度戒备状态。

这是一份需要将作业变为灰色而不是红色的作业日志:

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 个答案:

答案 0 :(得分:3)

以下是使用Conditional BuildStep PluginFail The Build Plugin

的解决方案

enter image description here

这是控制台输出:

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

它能解决你的问题吗? :)