【问题标题】:HUDSON: How to stop hudson job from command line?哈德森:如何从命令行停止哈德森作业?
【发布时间】:2011-08-12 06:17:32
【问题描述】:

我需要强制停止在远程服务器中运行的 Hudson 构建。是否有命令/API 可以做到这一点?

例如:触发一个新的构建,我们可以这样做:- HUDSON_URL/job/JOBNAME/build

寻找类似的 API 来停止构建。

【问题讨论】:

    标签: hudson hudson-api


    【解决方案1】:

    您应该能够向

    发出 http 请求

    http://HUDSON_URL/job/JOBNAME/BUILDNUMBER/stop

    您可以通过 xpath 请求获取内部版本号

    http://HUDSON_URL/job/JOBNAME/api/xml?xpath=//lastBuild/number/text()

    可能有一种方法可以放入 latestBuild 或 lastBuild 而不是 BUILDNUMBER,但如果没有,您可以只使用 2 个 http 获取。

    【讨论】:

    • 感谢您的回复!
    【解决方案2】:

    根据上述答案(赞成)、@girishs 的评论以及我自己在 Windows 环境中的一些工作(Linux 可能使用 wget 而不是 curl,尚未测试):

    curl --request POST -u <USER>:<PASS> "%JENKINS_URL%/job/%JOB_NAME%/lastBuild/stop"
    

    ...这会停止最近的构建,而无需进行任何未来的配置编辑。您所需要的只是您的用户/通行证组合。

    【讨论】:

    • 如果您不想将明文密码放入 shell 脚本,您可以将 替换为用户的 API 令牌。仍然不是很好的安全性,但稍微好一点。 (来源:wiki.jenkins-ci.org/display/JENKINS/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 2014-04-18
    相关资源
    最近更新 更多