Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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作业中的条件svn签出_Svn_Jenkins_Jenkins Plugins - Fatal编程技术网

轮询Jenkins作业中的条件svn签出

轮询Jenkins作业中的条件svn签出,svn,jenkins,jenkins-plugins,Svn,Jenkins,Jenkins Plugins,我试图根据条件阻止svn在svn轮询Jenkins作业上进行svn签出。签出后执行预步骤,并通过svn轮询触发此作业。请告知。有一个插件允许在SVN签出之前执行步骤 但是,即使这些预配置步骤失败,也不会阻止作业继续。如果此预构建步骤失败,最新版本允许生成失败 我能想到的一件事是设置两个作业。一个作业的任务只是轮询SVN,如果满足条件,则使用第二个作业触发生成。第二个作业甚至可以使用“自定义工作区”选项,并使用第一个作业的工作区来防止额外的签出我不知道它是否仍然相关,但我可能已经找到了解决此问题

我试图根据条件阻止svn在svn轮询Jenkins作业上进行svn签出。签出后执行预步骤,并通过svn轮询触发此作业。请告知。

有一个插件允许在SVN签出之前执行步骤

但是,即使这些预配置步骤失败,也不会阻止作业继续。如果此预构建步骤失败,最新版本允许生成失败


我能想到的一件事是设置两个作业。一个作业的任务只是轮询SVN,如果满足条件,则使用第二个作业触发生成。第二个作业甚至可以使用“自定义工作区”选项,并使用第一个作业的工作区来防止额外的签出

我不知道它是否仍然相关,但我可能已经找到了解决此问题的方法。假设您有一个名为“SVN_root”的根的SVN repo,在它下面有trunk文件夹、标记文件夹,您的分支文件夹等
您只希望Jenkins轮询您的“svn_root”,而不必签出主干/标记/分支的内容。为此,在作业配置中的subversion部分,将您的高级url(例如:svn://ip/svn_root)在“存储库深度”下拉列表中选择“立即”。作业开始时,jenkins将仅检查高级文件夹(svn_root),并且仅在其中发生更改时才会触发。例如,如果主干中有提交,则高级文件夹的主干条目将更改,并且作业将被触发。
这对我来说完全奏效了。
希望我能帮忙

祝你好运

非常感谢!根据你的解释,如果我想投票给SVN,c/o是不可避免的。我理解正确了吗?是的,除非你自己写轮询机制。您可以使用此插件执行自定义shell脚本,如果该脚本成功,则构建将启动,否则不会启动。在该shell脚本中,您可以编写自己的轮询,并满足您可能需要的任何条件。添加了在预scm失败时使生成失败的功能:)