Teamcity 仅在更改作业scm文件夹中的特定子文件夹时触发Jenkins作业

Teamcity 仅在更改作业scm文件夹中的特定子文件夹时触发Jenkins作业,teamcity,jenkins,Teamcity,Jenkins,我正在将持续集成系统从Teamcity迁移到Jenkins。我们的所有项目都有一个单一的svn存储库,如下所示: project/dev_db_build (folder) project/module1 (folder) project/module2 (folder) projets/pom.xml 对于在CI服务器上构建db,我使用url project/dev_db_build,并可以在发生更改时pol此url以触发构建 对于构建应用程序,我使用url project/So,如果我轮询

我正在将持续集成系统从Teamcity迁移到Jenkins。我们的所有项目都有一个单一的svn存储库,如下所示:

project/dev_db_build (folder)
project/module1 (folder)
project/module2 (folder)
projets/pom.xml
对于在CI服务器上构建db,我使用url project/dev_db_build,并可以在发生更改时pol此url以触发构建

对于构建应用程序,我使用url project/So,如果我轮询它,并且对dev_db_构建有更改,则应忽略应用程序构建,并在db_构建成功后触发


在teamcty中,我使用了“触发模式”来实现这一点。但是在Jenkins中有很多触发插件-我研究了其中一些,没有找到合适的。你有能力编辑你的Subversion钩子吗?与Jenkins服务器轮询SVN不同,我建议您让SVN通过
post-commit
hook调用Jenkins,以自动启动基于开发人员提交的构建。这可以减少Jenkins和SVN服务器上的负载,并且在构建开始之前,不需要等待多长时间的轮询间隔。

理想情况下,您应该使用@Mike建议的提交后挂钩,而不是轮询。否则,在配置Jenkins作业时,在选择了“Subversion”的“源代码管理”下,会有一个高级按钮。单击此按钮将显示许多选项,包括“排除区域”

如果设置为,并且Jenkins设置为轮询更改,Jenkins将忽略 确定是否生成时,此列表中的任何文件和/或文件夹 需要被触发。每个排除都使用正则表达式模式 匹配,并且必须用新行分隔

/trunk/myapp/src/main/web/*.html

/trunk/myapp/src/main/web/*.jpeg

/trunk/myapp/src/main/web/*.gif

上面的示例说明,如果只有html/jpeg/gif文件 如果已提交给SCM,则不会发生生成。更多有关 可以找到正则表达式

在您的情况下,可以将“排除区域”设置为

/project/dev_db_build/.*

谢谢。不幸的是,现在不能选择提交后挂钩。