你怎么拉多TFS回购成一个单一的詹金斯的工作吗?(How do you pull multiple

2019-06-24 03:15发布

我有2子文件夹$ /回购/项目和$ /回购/第三方回购。 我需要拉这两个进詹金斯的单个版本。 当然,我尝试了拉$ /回购,但是这给了我假民调沿一堆其他项目(将建造每次什么东西签入$ /回购)。 我已经使用多SCM插件,它的工作原理试过,但不保存配置(烦人,但不是不可用)。 我试着用常规的TFS插件和手动把呼吁其他回购到Windows命令(这甚至没有经过我必将他们他们不同的文件夹工作)。

什么是接近最好的方法? 某种子作业的拉动第三方? 修复多个SCM插件? 有一些TFS命令或触发拉一个不同的回购,当你拉一个项目?

Answer 1:

该TFS pluging詹金斯目前不支持检查出从多个位置源。 多SCM-插件可能是答案,但正如你在提问时指出 - 这真的不是在这一点上的选项。 有真的,据我可以看到它,只可能的解决方案,为您测试一下:

  1. 创建内TFS工作区,其中将包括所有的neccesary进口。 我在每一天的遭遇与TFS使用此功能,但我从来没有机会使用与詹金斯插件。 也许工作,它可能没有。
  2. 您可以使用,并请 - 这是一个相当严重的选择,至少对我来说 - 饭桶。 有一个混帐TFS并导入所需的所有项目到Git仓库中。 并让他们在git会开了一堆的可能性,你,包括使用单独的回购协议的每个文件夹,使用Git模块,混帐的外部...等等。 所以,至少对我来说,这是一个有效的选择,尽管它好像在第一次看一个丑陋的解决办法...


Answer 2:

我能得到这个工作与作业流水线。 它有点哈克,但它的作品。

我试图建立该程序使用$/Department/Framework/Main (如workspace\Framework )和$/Department/Products/TheProgram/Main (如workspace\TheProgram )。

我在詹金斯创建了三个工作,其他各的“下游”:

  • 框架的获取:正常的源代码触发的TFS”项目路径$/Department/Framework/Main 。 没有构建步骤。
  • TheProgram-获取:正常的源代码触发TFS”的产品路径$/Department/Products/TheProgram 。 没有构建步骤。
  • TheProgram - 建造:没有源代码控制。 但构建步骤XCOPY是从上面两个步骤的来源。 然后,您可以运行正常生成步骤。

TheProgram - 建造的第一个构建步骤是在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

第二内建步骤是蚂蚁的简单调用。 但是你可以使用的MSBuild或任何你喜欢这里。



Answer 3:

TFS的插件支持斗篷在你的文件夹的能力$\Repo ,你是不感兴趣的。签到到隐形文件夹不会触发构建。 不幸的是,可能是很多文件夹,你只有两个爱好 - 你需要保持隐形的文件夹列表随着新的补充。

我们避免了TFS插件,而是通过使用TFS命令行的PowerShell脚本一步我们TFS工作区的设置。 每个构建指定它想要的文件夹和脚本负责斗篷/揭幕的余数。



Answer 4:

我对这个解决方案是创建两个职位,一个刚刚下载的依赖关系,另一个是让构建。

在我来说,我使用Maven性管理的构建,例如:

的pom.xml

<properties>
  <my.dir>../MyDir</wsdl.dir>
</properties>

詹金斯构建

Goals clean package -U -Dmy.dir=${WORKSPACE}/../../another-build/workspace/MyDir


Answer 5:

我不得不创建一个自己的解决方法詹金斯。 这是同时使用TF和PowerShell的管理单元Microsoft.TeamFoundation.PowerShell实现。

基本工作流程如下:

GET-TFsWorkspace(PowerShell的:要检查工作区)

TF工作区/新(创建工作区)

TF Workfold /去映射(使用此,以除去其工作区创建期间所作的默认$ /映射)

TF Workfold /图(要映射的具体位置,也就是$ /回购/项目)

TF灼烧(以除去任何伪影,如果有任何)

TF获取(获取代码)

可能有,人有其他的方法,但是这将允许您使用TF Workfold /披风的功能良好。

干杯,

希望这可以帮助。



Answer 6:

可以确认的是多个SCM 0.5工程与Team Foundation Server的插件4.0

轮询似乎却打破。



文章来源: How do you pull multiple TFS repos into a single Jenkins job?