Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
定期在Jenkins中的特定节点上启动构建_Jenkins - Fatal编程技术网

定期在Jenkins中的特定节点上启动构建

定期在Jenkins中的特定节点上启动构建,jenkins,Jenkins,我想在给定的时间在不同的OS-s下运行某些Jenkins构建,我正试图找出如何实现这一点。例如,如果我的所有节点都运行Linux,并且我有一个在凌晨2点打开的Windows节点,我希望能够在该节点上运行构建,以检查在该操作系统下是否按照预期工作。我不想让Jenkins为不同的OS-s做不同的工作。这可能吗 我似乎找不到任何关于这个主题的可用插件或文章。在我的搜索中,我可能没有很好地阐明这一点,但我也不确定这是否可能,除非您创建作业的副本并将其绑定到特定节点 您可以尝试通过这种方式在不同操作系统之

我想在给定的时间在不同的OS-s下运行某些Jenkins构建,我正试图找出如何实现这一点。例如,如果我的所有节点都运行Linux,并且我有一个在凌晨2点打开的Windows节点,我希望能够在该节点上运行构建,以检查在该操作系统下是否按照预期工作。我不想让Jenkins为不同的OS-s做不同的工作。这可能吗


我似乎找不到任何关于这个主题的可用插件或文章。在我的搜索中,我可能没有很好地阐明这一点,但我也不确定这是否可能,除非您创建作业的副本并将其绑定到特定节点

您可以尝试通过这种方式在不同操作系统之间远程复制jenkins jobs/jobs/*\u config.xml


Jenkins将了解这是特定操作系统的本地操作,并按照触发器设置执行它们,尝试查找远程复制插件或使用scp或pscp命令。

确保Jenkins作业在两个不同操作系统之间同步。复制作业文件夹,您可以在两个不同操作系统之间建立.xml文件同步

据我所知,Jenkins作业是独立于平台的,您可以在UNIX和windows之间复制配置,反之亦然

JENKINS_HOME
         +- jobs ----(need to get sync)
         +- [JOBNAME]      (sub directory for each job)    
             +- config.xml     (job configuration file)
             +- workspace      (working directory for the version control system)
             +- latest         (symbolic link to the last successful build)
             +- builds
                 +- [BUILD_ID]     (for each build)
                     +- build.xml      (build result summary)
                     +- log            (log file)
                     +- changelog.xml  (change log)

请只使用一个答案,因为这是Stackoverflow答案应该是什么样的。我还编辑了我的答案,因为我认为我不够清楚。好的,我的答案非常简单:copyor sync/jobs/JOB_NAME/config.xml,并确保在config.xml搜索和替换中设置了config.xml节点属性。