在Jenkins中启动新生成时,如何取消另一个生成?

在Jenkins中启动新生成时,如何取消另一个生成?,jenkins,Jenkins,我想在B的新生成启动时取消a的生成。用詹金斯怎么做 有没有一个插件可以让我这么做?目前没有自动停止当前正在构建的构建的解决方案。然而,让构建完成并不是一个坏主意,如果构建失败,您至少会知道错误的原因和位置。在该构建完成后,将构建您在que中的最新构建 但是,有一种手动方法可以停止当前正在进行的构建。只需打开项目并单击正在运行的构建旁边的红十字。下面是我的照片 目前还没有自动停止当前正在生成的生成的解决方案。然而,让构建完成并不是一个坏主意,如果构建失败,您至少会知道错误的原因和位置。在该构建完成

我想在B的新生成启动时取消a的生成。用詹金斯怎么做


有没有一个插件可以让我这么做?

目前没有自动停止当前正在构建的构建的解决方案。然而,让构建完成并不是一个坏主意,如果构建失败,您至少会知道错误的原因和位置。在该构建完成后,将构建您在que中的最新构建

但是,有一种手动方法可以停止当前正在进行的构建。只需打开项目并单击正在运行的构建旁边的红十字。下面是我的照片


目前还没有自动停止当前正在生成的生成的解决方案。然而,让构建完成并不是一个坏主意,如果构建失败,您至少会知道错误的原因和位置。在该构建完成后,将构建您在que中的最新构建

但是,有一种手动方法可以停止当前正在进行的构建。只需打开项目并单击正在运行的构建旁边的红十字。下面是我的照片


您可以在shell步骤中使用HTTP请求,例如:

curl http://$JENKINS_URL/job/A/lastBuild/stop
job = Jenkins.instance.getItem('A')
for (build in job.builds) {
    if (build.isBuilding()) {
        build.doStop();
    }
}
或使用Groovy系统构建步骤,例如:

curl http://$JENKINS_URL/job/A/lastBuild/stop
job = Jenkins.instance.getItem('A')
for (build in job.builds) {
    if (build.isBuilding()) {
        build.doStop();
    }
}

您可以在shell步骤中使用HTTP请求完成此操作,例如:

curl http://$JENKINS_URL/job/A/lastBuild/stop
job = Jenkins.instance.getItem('A')
for (build in job.builds) {
    if (build.isBuilding()) {
        build.doStop();
    }
}
或使用Groovy系统构建步骤,例如:

curl http://$JENKINS_URL/job/A/lastBuild/stop
job = Jenkins.instance.getItem('A')
for (build in job.builds) {
    if (build.isBuilding()) {
        build.doStop();
    }
}

第一个选项告诉我,我需要通过身份验证才能获得doneYes,@Brown,它使用的是外部API,因此如果您在Jenkins中启用了安全性,您自然需要进行身份验证。最简单的方法就是在curl命令中添加选项
--user-user:password
。第一个选项告诉我,我需要通过身份验证才能获得doneYes,@Brown,它使用的是外部API,因此如果您在Jenkins中启用了安全性,您自然需要进行身份验证。最简单的方法就是在curl命令中添加选项
--user:password