如何防止构建从詹金斯插件代码

我试图写一个插件,将阻止从建立在一定条件下发生的。 我试过把条件检查的prebuild方法(覆盖),但是从我所看到的,尽我所能希望实现从有设置构建状态Result.ABORTEDResult.FAILURE

有谁知道如何可以

  • 请从构建的队列构建,而无需任何的历史它(即,通过预生成)

    要么

  • 什么方法来确定构建是否应该被允许?

--------------解决方案-------------

至少一种方法是延长QueueTaskDispatcher。 有了它,你的工作和节点,可以从正在修建,当时该节点上阻止它。 您当然可以不关心节点,只是阻断工作始终。 该方法将定期要求安排的作业,当詹金斯正试图找到建立它的一个节点。

import hudson.Extension;
import hudson.model.AbstractProject;
import hudson.model.Node;
import hudson.model.Queue.BuildableItem;
import hudson.model.queue.CauseOfBlockage;
import hudson.model.queue.QueueTaskDispatcher;

@Extension
public class MyTaskDispatcher extends QueueTaskDispatcher {

@Override
public CauseOfBlockage canTake(Node node, BuildableItem item) {

// only care about AbstractProject tasks
if (!(item.task instanceof AbstractProject<?, ?>)) return null;

AbstractProject<?, ?> proj = (AbstractProject<?, ?>) item.task;

if(!proj.getName().contains(node.getNodeName()) {
return new CauseOfBlockage.BecauseNodeIsBusy("Job name does not contain node name");
}
return null;
}
}

分类:建立 时间:2012-01-01 人气:3
分享到:

相关文章

  • 我如何使用哈德森/詹金斯和Maven发布静态Web资源,Amazon S3吗? 2013-11-05

    我希望能够部署静态Web资源(JPG格式,CSS,那种事)到Amazon S3,因为它们不会被同一台服务器担任我的主要Web应用程序. 我用詹金斯(FKA哈德森)和Maven构建Java Web应用程序.WAR文件,然后上传到使用詹金斯"部署到容器"插件一个Tomcat实例. 我真正想要的静态资源被部署为主体构建过程的一部分,但我不知道,让他们到S3的最佳途径. 我已经看到了复制的文物哈德森/詹金斯的插件,但是这也只是我的.WAR文件,而不是在项目中的文件. 在一个'好'的方式任何想法

  • Git的开箱哈德森的; 甚至不能在詹金斯安装插件 2012-06-04

    因此,作为这里读取多个Q&为什么我应该用在詹金斯哈德逊后,我继续做了开关......,现在我后悔了. 随着哈德森(或者至少是我用来安装哈德森Debian软件包),Git会来到"开箱即用"; 我没有安装任何插件或任何东西. 随着詹金斯然而,不仅我需要一个单独的插件,但是当我尝试安装插件,它失败了,反反复复. 我能找到的插件在可用插件列表中,检查,并获得了"成功"的消息,但我重新启动后,哈德森插件中不存在(它再次是可用的插件插件列表). 这个问题可能是插件的描述

  • 如何设置授权哈德森/詹金斯克隆的Mercurial库 2012-09-28

    安装和使用水银玩弄后,我试图让哈德森克隆库,因此它可以建立我的项目. 目前以下任务工作. 我可以同步到外部主机和代码显示了该主机上. 现在我想配置哈德森/詹金斯访问我的主机上的代码. 但不幸的是,我上滚动的错误: Started by user anonymous $ hg clone --rev default https://bitbucket.org/*/testproject "F:\Hudson\jobs\testproject\workspace" abort: http

  • Maven的2构建冲突哈德森/詹金斯 2012-11-10

    我有2个建立相同的哈德森/詹金斯服务器在同一项目上(它们运行不同的生成配置文件)中. 两者建立的时候轮询SCM,但我有时会收到以下错误: The plugin 'org.apache.maven.plugins:maven-checkstyle-plugin' does not exist or no valid version could be found 这只是开始,一旦我添加第二个版本,所以我假设有某种冲突. 有谁知道这是怎么回事呢? 谢谢,杰夫 --------------解决方案---

  • 是否有可能与哈德森/詹金斯参数化字符串替换整个库网址是什么? 2013-07-16

    在哈得逊/詹金斯,是有可能取代在Subversion模块库URL以字符串参数整个字符串? 我不想仅仅只更换版本之类的东西,我想更换整个URL. 所以,当我运行构建,我会得到一个提示的网址,我会把类似的"http://scm.work.corp/svn/com.work.package/tags/project-4.0.0 .RELEASE",它会检查,并建立它. 能够替代"com.work.package"和"项目4.0.0.RELEASE"部分

  • 哈德森/詹金斯PHP项目的部署 2014-12-28

    目前我使用在目标机器上颠覆结帐部署我的PHP项目. 我用哈德森/詹金斯进行测试和代码分析的目的,但可以而且 应该把它用于部署? 如果是这样,怎么样? --------------解决方案------------- 我们用它所有的,我的工作上面. 我这里简要描述的处理. 你可以谷歌"哈德森模板"或"模板詹金斯"为样板来这样做. 我目前正在研究詹金斯与基于PHP的项目中使用,但尚未在实际部署情况下使用它. 詹金斯的第 12章:由约翰·弗格森聪明的权威指南涵盖了实施自动化

  • 配置哈德森/詹金斯分期和生产 2012-06-17

    如何配置哈德森/詹金斯生产及分期部署配置相同的? 我有一个构建和部署工作流程配置詹金斯做生产推送. 现在我需要使用相同的配置做了升级推动,预计对夫妇的文件夹和数据库名称将发生变化,以反映阶段. 即从说/var/prod/html ,以/var/stage/html和db从companyname_table到companyname_table_stage . 我唐娜€™吨想做配置的副本,因为我可能要在一个地方更改的配置那么我将不得不做出的每一个副本,副本的变化. 理想的情况是我想通过传递一些参数来

  • 可以使用不同的哈德森/詹金斯发送电子邮件地址? (或者是有唯一一个每intrance所有项目的全球版本的电子邮件吗?) 2013-03-21

    我使用的哈德森现在的各种项目. CI服务器运行几个不同的项目,我宁愿获得域名对应的电子邮件为该项目(我有多个企业去和宁愿不运行虚拟机或2只机器运行哈德森的另一个实例) 如果无法做到这一点没什么大不了的 - 我只是希望每个项目可以从自己的电子邮件帐户被公布. 但是,我还没有看到一个办法做到这一点. --------------解决方案------------- 看起来,即使是最先进的(据我所知)詹金斯电子邮件插件 - 电子邮件 - 外部插件 - 不提供这样的功能. 你可以,但是,使用该插件每个作业

  • 是任何人知道一个成熟的Java库,这将帮助我查询哈德森/詹金斯服务器 2013-05-13

    我主要是Python开发在几乎每一个重要的批次是由哈德森詹金斯或服务器上运行的环境中工作. 我写它采用Hudson的蟒蛇API,它可以让我写平凡哈德森客户Python中的Python库. 我在找一个Java类,这将有助于我做同样的事情,但没有任何的Python. 我的自制Python库的妙处是,它可以让我在一个非常高层次的工作. 我的图书馆的消费者完全从内哈德森发生的事情的复杂性屏蔽. 大部分时间我需要做的可以在一个行功能表达的事情: 例如,我可以搜索并下载文物. 我能找到工作,其结果符合一定的

  • 如何设置C ++连续哈德森/詹金斯构建 2014-02-01

    我想哈德森/詹金斯为我们的C ++构建持续集成. 我们正在使用的CMake为使文件和颠覆的soruce控制. 可否请您让我知道步骤设置C ++建立在哈德森(可使用示例项目) 谢谢,斯里兰卡 --------------解决方案------------- 创建詹金斯项目 添加Subversion的SCM,添加该存储库网址 创建时间表(尝试使用* * * * *的第一次尝试) 添加构建(shell脚本),一个新的台阶,将推出编译 如果你有测试中,增加了新的一步(Shell脚本)将推出测试 列表文件或

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.740 (s). 10 q(s)