我有一些在 ProjectX 下创建的 TFS 2010 构建定义。现在源代码已移至 ProjectY 下属的文件夹中。如何将构建定义移至 ProjectY,以便它们显示在 ProjectY 的团队资源管理器的构建节点下?
我认为没有现成的东西可以将构建定义从一个项目复制到另一个项目。不过,您应该能够使用 TFS API 来完成此操作。您将需要将构建过程模板(这就是 Pete 所指的)移动到新项目的构建过程模板文件夹中。之后你会做类似的事情:
var server = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("<server uri>"));
IBuildServer buildServer = server.GetService<IBuildServer>();
var buildDetails = buildServer.QueryBuildDefinitions("Project X");
foreach(var build in buildDetails)
{
var buildDefinition = buildServer.CreateBuildDefinition("Project Y");
buildDefinition.Name = "Copy of " + build.Name;
buildDefinition.BuildController = build.BuildController;
// This finds the template to use
buildDefinition.Process = buildServer.QueryProcessTemplates("Project Y")[0];
buildDefinition.ProcessParameters = build.ProcessParameters;
buildDefinition.Save();
}
有几点需要注意。您将需要处理将工作区映射从一个项目转换为另一项目的情况。您还需要更改 buildDefinition.Process 行以查找特定模板。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)