【发布时间】:2013-09-04 08:29:56
【问题描述】:
我们刚刚迁移到 Git,所以如果我提出愚蠢的问题,请原谅我 :-)
我们的 Git 存储库包含几个 Maven 项目,像这样
ssh://git@git.whatever.com:7999/foo/foo.git
bar1
bar2
我有单独的 Jenkins 作业来构建 bar1 和 bar2。为了防止对 bar1 的推送也触发 bar2,我在 bar2 中的 Advanced... Included Regions 下配置了 Git 插件,使其仅包含 bar2/.* - 反之亦然,在 bar1 作业中:bar1/.*
这很好用,但有一件事让我烦恼:两个作业中的更改显示了 repo(bar1 和 bar2)的所有更改,而不仅仅是特定项目的更改。
我该如何配置?
【问题讨论】:
-
你是为每个人使用一个 repo(即 bar1 在它自己的 repo 中,bar2 在它自己的 repo 中)还是它们都在同一个 repo 中(我假设后者,但你说 repos 是复数,所以我很困惑)。
-
是的,bar1 和 bar2 都在同一个 repo foo 中。抱歉,如果不清楚,我改变了问题。
-
认为这可能是您的意思,在意识到之前写下我的答案已经完成一半,并认为我会在发布答案之前进行检查。
-
您如何配置您的工作以在此处“仅”执行 bar1/bar2?像这样?stackoverflow.com/questions/17310959/…
-
嗯,第一件事是(使用 Maven 项目)我指定根 POM 位于 bar1/pom.xml 中。第二件事是我将 Git 插件配置为仅对 bar1 目录中的更改做出反应。为此,我单击“要构建的分支”中的高级...按钮并指定要响应的路径:包含的区域:bar1/.*