在詹金斯中并行运行相同的管道

时间:2020-03-23 08:23:15

标签: jenkins parallel-processing jenkins-pipeline workspace

我对詹金斯来说还比较陌生。 我在Jenkins中创建了一个声明性管道,要求用户输入其分支名称,然后Jenkins构建该特定分支(例如origin / mybranch)。 这使我可以对特定分支进行快速测试。

开发人员可以多次运行管道,而今天,我阻止了多个此类管道同时运行,因为如果这样做,一个管道会覆盖另一个管道。

之所以会发生这种情况,是因为第一个管道写入c:\ Jenkins \ workspace \ QuickBuild,并且当另一个这样的作业运行被写入该完全相同的文件夹,从而终止了原始运行。

阻塞是我发现的解决方案,但是我希望这样做,以便在一次运行结束(使用少于8个内核)时,队列中的下一次运行将在释放所有内核的情况下开始运行。

尽管这将是詹金斯的基本概念。 我想念什么吗?我做错了吗?

1 个答案:

答案 0 :(得分:0)

根据MaratC和Zett42的建议,我最终将其添加到脚本中:

    agent
    {
        node {
            customWorkspace "${params.Branch}"
        }
    }

这导致詹金斯(Jenkins)在不同的文件夹中创建每个版本,并且它们不会踩到彼此的脚趾。

唯一的缺点是您不能同时建立同一个分支,但这是一个极端的情况。 另外,我可以在工作区中添加一个随机数以启用此功能。