在从属节点而不是主节点上运行jenkins后期构建步骤

在从属节点而不是主节点上运行jenkins后期构建步骤,jenkins,jenkins-plugins,Jenkins,Jenkins Plugins,我已经创建了一个Jenkins作业,并且能够使用中的标签名将其分配到主/从上运行,以限制此项目可以运行的位置。我的工作需要这样做 将测试数据复制到目标文件夹(不是Jenkins工作区) 运行测试 总结结果 清理包含数据的文件夹-尚未实现 关于步骤4,我必须在标记作业完成之前删除数据。我考虑了一个新的解决方案,它似乎在所有情况下都能工作,但工作中止时除外 我正在考虑使用/的后期构建步骤,它仅在作业被分配到运行在Master上时才起作用。这里的问题是,当我尝试在Slave1/Slave2上运行作业时

我已经创建了一个Jenkins作业,并且能够使用
中的标签名将其分配到主/从上运行,以限制此项目可以运行的位置
。我的工作需要这样做

  • 将测试数据复制到目标文件夹(不是Jenkins工作区)
  • 运行测试
  • 总结结果
  • 清理包含数据的文件夹-尚未实现
  • 关于步骤4,我必须在标记作业完成之前删除数据。我考虑了一个新的解决方案,它似乎在所有情况下都能工作,但工作中止时除外

    我正在考虑使用/的后期构建步骤,它仅在作业被分配到运行在
    Master
    上时才起作用。这里的问题是,当我尝试在Slave1/Slave2上运行作业时,相同的任务似乎不起作用,我意识到它是在Master而不是Slave1/2上执行的

    如果您能为我解决这个问题提供指导,我将不胜感激


    谢谢

    是的,默认情况下,生成后的步骤在Master上运行。所以,您需要另一个插件,允许您选择要运行构建后步骤的节点。在我的系统中,我使用“灵活发布”插件,我认为它可以解决您的问题


    使用PostBuildTask插件,我成功地让它在作业运行的同一节点上工作。我将postbuildtask操作作为postbuild步骤中的第一个任务,这就成功了。使用GroovyPostBuild,我相信它不会注意用于执行作业的节点,因此对我的要求没有好处在Jenkins环境中,作业被分配给要运行的节点。但构建后脚本也会在节点上执行。但我需要它在主人身上运行。我该怎么做?@PageNotFound在您的情况下,生成后脚本与生成作业在同一指定节点上执行,对吗?如果是这样的话,你仍然可以使用我上面提到的“灵活发布”插件来选择构建后脚本中的主节点。谢谢@Thanh Nguyen,我将使用该插件。但是插件似乎很长时间没有更新(超过5年)