【问题标题】:POM only project builds going away In jenkins仅 POM 项目构建在詹金斯中消失
【发布时间】:2013-01-11 03:48:09
【问题描述】:

我有一个仅由 Jenkins 构建的 pom 项目。它真正做的唯一一件事就是将它发送到我的仓库。这被其他几个项目使用。出于某种原因,Jenkins 没有保留这些构建。它甚至似乎正在删除工作区。颠覆轮询日志显示:“没有现有的构建。正在安排新的构建。”这会触发一个新构建,这会触发所有下游项目的新构建。这可能是因为在构建过程中没有生成文件吗?我没有在项目配置中选中“删除旧版本”。有什么想法吗?

【问题讨论】:

    标签: maven build jenkins continuous-integration


    【解决方案1】:

    在 Jenkins 中,Subversion 轮询可以从主节点或从节点进行。默认情况下,为了减少主服务器的负载(因为轮询比来自 Subversion 服务器上的 PostCommit 挂钩的推送通知更耗费资源 - 即推荐的方式)默认是从从服务器轮询。

    如果您使用 VM 从属池,或定期清除从属工作区等。那么基于从属的轮询将必须执行结帐才能完成(我认为,但我不确定,这是因为 @ 987654321@ 条目将被取消固定并因此触发更新...但这听起来很傻)

    您可以通过在 Jenkins 中设置以下系统属性来将默认设置更改为 master:

    hudson.scm.SubversionSCM.pollFromMaster=true
    

    您需要重新启动 Jenkins 以获取更改。

    如果您想使用 Groovy 控制台,您可以将更改应用到正在运行的 Jenkins 实例...我认为以下内容将通过更改来修复我可能出现的语法错误:

    import jenkins.model.*
    import hudson.scm.*
    Jenkins.instance.items.each { job ->
        if (job.scm instanceof SubversionSCM) { 
            job.scm.setPollFromMaster(true);
        }
    }
    

    虽然我应该指出,groovy 脚本只会在下次重新启动 Jenkins 之前进行更改,因为它调整的字段是暂时的。

    【讨论】:

    • 感谢您的回答,但我不知道这如何适用于我的问题。我有一个 Jenkins 实例。我没有奴隶。
    • 那我就不知所措了……希望其他人会觉得它有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多