How to stop an unstoppable zombie job on Jenkins without restarting the server?

前端 未结 27 1517
南旧
南旧 2020-11-27 09:18

Our Jenkins server has a job that has been running for three days, but is not doing anything. Clicking the little X in the corner does nothing, and the console output log do

相关标签:
27条回答
  • 2020-11-27 09:51

    Using the Script console at https://my-jenkins/script

    import hudson.model.Job
    import org.jenkinsci.plugins.workflow.job.WorkflowRun
    
    Collection<Job> jobs = Jenkins.instance.getItem('My-Folder').getAllJobs()
    for (int i = 0; i < jobs.size(); i++) {
      def job = jobs[i]
      for (int j = 0; j < job.builds.size(); j++) {
        WorkflowRun build = job.builds[j]
        if (build.isBuilding()) {
          println("Stopping $job ${build.number}")
          build.setResult(Result.FAILURE)
        }
      }
    }
    
    0 讨论(0)
  • 2020-11-27 09:51

    Here is how I fixed this issue in version 2.100 with Blue Ocean

    • The only plugins I have installed are for bitbucket.
    • I only have a single node.

    ssh into my Jenkins box
    cd ~/.jenkins (where I keep jenkins)
    cd job/<job_name>/branches/<problem_branch_name>/builds
    rm -rf <build_number>

    After this, you can optionally change the number in nextBuildNumber (I did this)

    Finally, I restarted jenkins (brew services restart jenkins) This step will obviously be different depending how you manage and install Jenkins.

    0 讨论(0)
  • 2020-11-27 09:52

    I had also the same problem and fix it via Jenkins Console.

    Go to "Manage Jenkins" > "Script Console" and run a script:

     Jenkins .instance.getItemByFullName("JobName")
            .getBuildByNumber(JobNumber)
            .finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build")); 
    

    You'll have just specify your JobName and JobNumber.

    0 讨论(0)
提交回复
热议问题