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

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.

  • Jenkins returned status code 128
  • “Pretty” Continuous Integration for Python
  • How to choose between Hudson and Jenkins?
  • Migrating to Jenkins 2.1- AJP support is removed in Winstone 3.0 due to Jetty 9 not supporting AJP
  • Why use sonar plugin for Jenkins rather than simply use maven goal “sonar:sonar”?
  • git submodule update --init gives error fatal: Needed a single revision Unable to find current revision in submodule path
  • 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
    

  • How to organize full build pipeline with Gulp, Maven and Jenkins, all the way to integration tests?
  • Maven release plugin - SNAPSHOT project needed
  • Jenkins, MSBuild and Web Deploy: Unable to create Web Package
  • Maven concurrent builds on CI server
  • How to access parameters in a Parameterized Build?
  • How can I get Xcode 5 to run iOS unit tests on a Jenkins slave?
  • One Solution collect form web for “Jenkins: how do I make the color of a failed build due to a workspace issue from red to gray?”

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

    enter image description here

    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? 🙂

    Git Baby is a git and github fan, let's start git clone.