我们刚刚迁移到Git,所以如果我问愚蠢的问题,请原谅我:-)
我们的Git repo包含几个Maven项目,就像这样
ssh://git@git.whatever.com:7999/foo/foo.git
bar1
bar2
Run Code Online (Sandbox Code Playgroud)
我有单独的Jenkins工作来构建bar1和bar2.为了防止对bar1的推送也触发了bar2,我在bar2下配置了Git插件,Advanced... Included Regions仅包含bar2/.*- 反之亦然bar1作业:bar1/.*
这很有效,但有一件事让我感到困惑:两个工作中的变化都显示了repo(bar1和bar2)的所有变化,而不仅仅是特定项目的变化.
我该如何配置?
Lee*_*Lee -1
我假设您指的是更改时的提交日志,在这种情况下,如果没有自定义 git 客户端或至少有自定义 git 提交查看器脚本,您将无法执行所需操作。
理论上,单个存储库应该只包含一个项目。否则你就“错误”地使用了 git (在非常宽松的意义上使用“错误”这个词,因为 git 只是一个工具,错误地使用它是不可能的,只是为了你自己的需求而错误地使用它)。
执行您想要的操作的唯一方法是将 bar1 和 bar2 文件夹拆分为单独的 git 存储库。如果它们有点像模块,在同一个站点上都需要它们,您可以将 git init/clone 分别放入每个项目的 bar1 和 bar2 文件夹中,以便您可以单独控制它们。
另一种选择是将它们分成单独的 git 存储库,然后创建第三个“主”存储库,其中仅包含其他两个存储库作为各自文件夹中的子模块。然后像您可能已经做的那样使用自定义 git hook 来使 master 拉取并构建正确的文件夹/project/bar(x) 。然而,这是一种有点老套的做法,纯粹是为了不必先设置一些文件夹。
基本上,如果不编写自己的自定义提交查看器,您就无法根据文件夹拆分提交日志。您需要将项目分成多个存储库。然后,如何将它们重新组合在一起并自动执行任何构建任务,取决于您。毫无疑问,除了我上面提到的方法之外,还有更多方法。只是寻找最适合您需求的解决方案的一个例子。
| 归档时间: |
|
| 查看次数: |
11273 次 |
| 最近记录: |