我试图根据条件阻止 svn 轮询 Jenkins 作业的 svn 结帐。结帐后执行预步骤,并通过 svn 轮询触发此作业。请指教。
2 回答
有一个插件允许在 SVN 结帐之前执行一个步骤
https://wiki.jenkins-ci.org/display/JENKINS/pre-scm-buildstep
但是,即使那些 pre-scm 也不会阻止工作继续步骤失败。如果此预构建步骤失败,最新版本允许构建失败。
我能想到的一件事是设置 2 个工作。一个作业的任务是单独轮询 SVN,如果满足条件,则使用第二个作业触发构建。第二个作业甚至可以使用“自定义工作区”选项并使用第一个作业的工作区来防止额外的结帐
我不知道它是否仍然相关,但我可能已经找到了解决此问题的方法。假设您有一个 SVN 存储库,其根名为“svn_root”,在它下面有您的主干文件夹,您的标签文件夹,您的分支文件夹等。
您只希望 Jenkins 轮询您的“svn_root”,而不必检查您的主干/标签/分支的内容。为此,在您的工作配置中,在颠覆部分中,输入您的“存储库 url” ' 将您的高级 url 框起来(例如:svn://ip/svn_root)并在 'repository depth' 下拉列表中选择 'immediates'。当作业开始时,jenkins 只会检查高级文件夹(svn_root)并触发只有当它发生变化时。例如,如果主干中有一个提交,高级文件夹的主干条目会改变,并且工作将被触发。
这完全对我有用。
希望我有帮助
祝你好运