从SVN post commit hook自动创建Jenkins作业

从SVN post commit hook自动创建Jenkins作业,svn,jenkins,post-commit-hook,Svn,Jenkins,Post Commit Hook,我需要的是一个SVN post commit钩子,它必须能够创建(而不仅仅是触发运行)自己的Jenkins作业(如果修订ID为0),并且必须在多个项目上执行。基本上,每个项目都必须能够使用这个钩子,在第一次提交时在Jenkins中添加自己的作业。我需要知道的是如何给Jenkins每个项目的存储库URL,始终使用相同的钩子。当运行提交后钩子时,提交者必须等待提交完成——这意味着等待提交后操作本身完成。如果这需要太长的时间,而太长的时间可能只有几秒钟,用户就会反抗。想象一下,每次您进行提交时,提交都

我需要的是一个SVN post commit钩子,它必须能够创建(而不仅仅是触发运行)自己的Jenkins作业(如果修订ID为0),并且必须在多个项目上执行。基本上,每个项目都必须能够使用这个钩子,在第一次提交时在Jenkins中添加自己的作业。我需要知道的是如何给Jenkins每个项目的存储库URL,始终使用相同的钩子。

当运行提交后钩子时,提交者必须等待提交完成——这意味着等待提交后操作本身完成。如果这需要太长的时间,而太长的时间可能只有几秒钟,用户就会反抗。想象一下,每次您进行提交时,提交都需要额外15秒。你坐在那里不知道发生了什么15秒。用户将等待多长时间,直到他们开始尝试终止提交

您可以复制Jenkins作业,并通过Jenkins REST API更新作业的
config.xml
。这不是小事,但这是可能的。但是,这不是您想要使用的机制

您的存储库中没有几十个Jenkins作业来构建项目的子树,而是有一个Jenkins作业来构建修改过的项目的子树

想象一下,您的项目
foo
的Subversion URL是
http://svn.vegicorp.com/projects/foo
项目
的Subversion URL是
http://svn.vegicorp.com/projects/foo
。您可以设置Jenkins作业来监视
http://svn.vegicorp.com/projects
,然后查看
foo
和/或
bar
是否已修改,然后启动该特定子树的构建。当有人创建项目
http://svn.vegicorp.com/projects/fubar
,詹金斯也将监督该项目,因为它已经在看
http://svn.vegicorp.com/projects

可以使用将生成的名称设置为生成的子树。这将让您看到哪些构建用于哪些项目


在Jenkins中进行设置应该比尝试动态创建Jenkins作业容易得多。

运行提交后钩子时,提交者必须等待提交完成,也就是说,等待提交后操作本身完成。如果这需要太长的时间,而太长的时间可能只有几秒钟,用户就会反抗。想象一下,每次您进行提交时,提交都需要额外15秒。你坐在那里不知道发生了什么15秒。用户将等待多长时间,直到他们开始尝试终止提交

您可以复制Jenkins作业,并通过Jenkins REST API更新作业的
config.xml
。这不是小事,但这是可能的。但是,这不是您想要使用的机制

您的存储库中没有几十个Jenkins作业来构建项目的子树,而是有一个Jenkins作业来构建修改过的项目的子树

想象一下,您的项目
foo
的Subversion URL是
http://svn.vegicorp.com/projects/foo
项目
的Subversion URL是
http://svn.vegicorp.com/projects/foo
。您可以设置Jenkins作业来监视
http://svn.vegicorp.com/projects
,然后查看
foo
和/或
bar
是否已修改,然后启动该特定子树的构建。当有人创建项目
http://svn.vegicorp.com/projects/fubar
,詹金斯也将监督该项目,因为它已经在看
http://svn.vegicorp.com/projects

可以使用将生成的名称设置为生成的子树。这将让您看到哪些构建用于哪些项目


在Jenkins中进行设置应该比尝试动态创建Jenkins作业容易得多。

运行提交后钩子时,提交者必须等待提交完成,也就是说,等待提交后操作本身完成。如果这需要太长的时间,而太长的时间可能只有几秒钟,用户就会反抗。想象一下,每次您进行提交时,提交都需要额外15秒。你坐在那里不知道发生了什么15秒。用户将等待多长时间,直到他们开始尝试终止提交

您可以复制Jenkins作业,并通过Jenkins REST API更新作业的
config.xml
。这不是小事,但这是可能的。但是,这不是您想要使用的机制

您的存储库中没有几十个Jenkins作业来构建项目的子树,而是有一个Jenkins作业来构建修改过的项目的子树

想象一下,您的项目
foo
的Subversion URL是
http://svn.vegicorp.com/projects/foo
项目
的Subversion URL是
http://svn.vegicorp.com/projects/foo
。您可以设置Jenkins作业来监视
http://svn.vegicorp.com/projects
,然后查看
foo
和/或
bar
是否已修改,然后启动该特定子树的构建。当有人创建项目
http://svn.vegicorp.com/projects/fubar
,詹金斯也将监督该项目,因为它已经在看
http://svn.vegicorp.com/projects

可以使用将生成的名称设置为生成的子树。这将让您看到哪些构建用于哪些项目


在Jenkins中进行设置应该比尝试动态创建Jenkins作业容易得多。

运行提交后钩子时,提交者必须等待提交完成,也就是说,等待提交后操作本身完成。如果这需要太长的时间,而太长的时间可能只有几秒钟,用户就会反抗。想象一下每次你做一件事