我有一个仓库,有 2 个子文件夹 $/Repo/project 和 $/Repo/thirdparty。我需要将这两个都拉到 Jenkins 中进行单个构建。当然,我尝试只拉动 $/Repo,但这给了我一堆其他项目以及错误的民意调查(每次将任何东西签入 $/Repo 时都会构建)。我尝试过使用 multi-scm 插件,该插件可以工作,但不会保存配置(很烦人,但并非不可用)。我尝试使用常规 tfs 插件并手动将对其他存储库的调用放入 Windows 命令中(即使我将它们绑定到不同的文件夹,这也不起作用)。
解决这个问题的最佳方法是什么?某种吸引第三方的子工作?修复多个 scm 插件吗?当您拉取项目时,是否有一些 tfs 命令或触发器可以拉取不同的存储库?
我能够通过工作管道来实现这一点。这有点hacky,但它确实有效。
我正在尝试构建的程序使用$/Department/Framework/Main
(as workspace\Framework
), and $/Department/Products/TheProgram/Main
(as workspace\TheProgram
).
我在 Jenkins 中创建了三个工作,每个工作都是另一个工作的“下游”:
- Framework-Get:在TFS的项目路径上正常触发源代码
$/Department/Framework/Main
。没有构建步骤。
- TheProgram-Get:在TFS的产品路径上正常触发源代码
$/Department/Products/TheProgram
。没有构建步骤。
- TheProgram-Build:无源代码控制。但构建步骤 xcopy 是上述两个步骤的来源。然后,您可以运行正常的构建步骤。
Program-Build 的第一个构建步骤是 Windows 批处理命令:
REM ====================================
REM First Get the Framework folder:
rmdir /s/q Framework
mkdir Framework
xcopy /y /q /e ..\..\Framework-Get\Workspace\Framework Framework
REM ====================================
REM Then Get the TheProgram Folder:
rmdir /s/q TheProgram
mkdir TheProgram
xcopy /y /q /e ..\..\TheProgram-Get\Workspace\TheProgram TheProgram
第二个构建步骤是对 ant 的简单调用。但你可以在这里使用 msbuild 或任何你喜欢的东西。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)