2014-11-04 64 views
0

在我们的Jenkins和git设置中,主设备是Windows,而从设备是Linux。 (有时在未来几个月内将被更改为linux全部)。Jenkins如何只在发生变化时触发按计划生成

当您在作业中设置轮询SCM时,轮询操作发生在主设备上,而不是作业配置为运行的从设备。无论如何..服务器配置有问题,我不能在那里运行git,并通过SSH到达另一台机器上的回购站。

net,我不能使用poll scm直到服务器被修复。但是,我有一个构建作业需要在有变化时运行,因为它构建了用于自动部署应用程序以供进一步测试的工件。 我可以定期使用Build,但每隔30分钟(仅作为示例),每周晚上和整个周末,大部分时间都会浪费时间。

所以,我想创建一些定时任务,它检查一些东西,看看自上次以来是否有变化。构建仅适用于特定分支中的内容。

我'认为'我可以使用rev-list获得最后一次提交,但我只想在特定分支中提交。那么我可以将它保存到一个文件中,然后重新检查下一个这项工作。

如果修订版不匹配,则触发其他作业。

有没有人有更好的指导?

回答

0

我相信你错了。 SCM轮询发生在作业配置为运行的其中一个从站上。至少这是它配置为使用git的作业的方式。如果您的轮询在Windows主服务器上运行,那是因为您没有选中作业配置中的“限制作业可以运行的位置”框,并指定了一组不包含主服务器的节点。

+0

我这样做是希望你是对的..但是我们绝对确认这次调查发生在我们的案例中。 – Sam 2014-11-07 01:25:39

+0

作业被配置为仅在运行linux的从节点上运行。我可以使用Windows任务管理器来查看git.exe进程挂起等待ssh密码提示,这将永远不会到来,并最终连接超时(大约10分钟)..第一个错误是我们只为unix git可执行文件(/ usr/bin/git,而不是c:/ git_windows/git),它找不到文件(/ usr/bin/git)。然后我们走了路,它找不到'混帐'。 – Sam 2014-11-07 01:38:21

+0

奇怪。它是自由风格的作业还是多配置作业还是别的?主人是否有克隆的工作区?也许它有助于删除它,以强制詹金斯克隆在其中一个Linux奴隶,并希望运行工作区的民意调查。 – sti 2014-11-09 13:07:51

相关问题