aks*_*hay 6 java hudson jenkins
如何检查哈德森是否忙碌?意思是我想检查它当前是否正在执行任何构建.
目前正在使用以下内容:
if(lastBuild == lastCompletedBuild){
// hudson is free
}
else{
//hudson is busy
}
Run Code Online (Sandbox Code Playgroud)
这是正确的逻辑吗?如果机器在上次构建更新后重新启动/崩溃并且lastCompletedbuild不是,那该怎么办?
是否有暴露的API可以直接使用?
看看Hudson 的 API。
具体来说:您可以添加/api/[xml|json]到 Hudson 中的任何路径以获取该页面的机器可读数据。例如hudsonserver:8080/api/xml将返回作业列表及其当前状态。
然而,真正的问题是这段代码在哪里执行?上面有lastBuild和lastCompletedBuild,但是这些变量是在哪里设置的呢?