Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有动态解决方案计数的TFS 2013生成定义_Tfs_Msbuild_Release_Release Management_Ms Release Management - Fatal编程技术网

具有动态解决方案计数的TFS 2013生成定义

具有动态解决方案计数的TFS 2013生成定义,tfs,msbuild,release,release-management,ms-release-management,Tfs,Msbuild,Release,Release Management,Ms Release Management,我正在尝试在TFS 2013中设置生成定义,该定义通过CI监视分支文件夹触发。它需要确定哪些分支参与了触发的签入,然后编译每个分支并放入drop文件夹 UserStoryBranchesFolder US1(分行) US2(分行) US3(分行) CI观察UserStoryBranchesFolder,并由US1、US2或US3上的签入触发(这正在工作) 现在需要确定哪个分支与签入关联,TFS支持签入中的多个分支,因此这可能是1个、2个或3个受影响的分支。(不工作) 什么不起作用: TFS

我正在尝试在TFS 2013中设置生成定义,该定义通过CI监视分支文件夹触发。它需要确定哪些分支参与了触发的签入,然后编译每个分支并放入drop文件夹

UserStoryBranchesFolder
  • US1(分行)
  • US2(分行)
  • US3(分行)
CI观察UserStoryBranchesFolder,并由US1、US2或US3上的签入触发(这正在工作)

现在需要确定哪个分支与签入关联,TFS支持签入中的多个分支,因此这可能是1个、2个或3个受影响的分支。(不工作)

什么不起作用:

TFS 2013使用了新的工作流XAML,因此我认为不支持标记,可能是,我不知道如何支持

通配符配置,尝试的SourceSettings->SourceControlFolder=UserStoryBranchs/*/mySolution.sln

在动态创建usbranchs的情况下,我尝试在UserStoryBranchesFolder中添加一个DummySolution.sln,并将SourceControlFolder指向该文件夹,该文件夹匹配并正常工作,但我不知道如何使构建过程模板在目录中搜索、做出决策,然后构建

如果我可以获得编程访问: 所有分支最近修改的时间是多少,构建所有分支,并将其作为时间戳

最终目标(可供选择的解决方案):
我想在每个sprint开始时削减用户故事分支,并让它们作为每个分支1个应用程序部署到单个IIS站点,而不改变TFS或RM(发布管理)中的任何内容。一旦构建被放入drop文件夹,我就很好了,如果有其他方法可以实现这一点,我会非常开放

我从未使用过用户故事,所以请原谅我对用户故事缺乏了解。然而,您是否能够通过发布来实现用户故事的构建?如果是,发布将创建发布配置文件。一旦签入,构建定义就可以将其用作构建过程的指南。 您还可以使用csproj,而不仅仅是sln作为构建项。您能否创建一个包含所有用户故事的head解决方案并构建它

我不明白你到底在做什么,你似乎没有开始工作标签在哪里(我面前没有电脑)请发布一些屏幕截图保持简单, 1.是否希望将用户故事合并到iis中的一个网站中? 2.最新版本是您想要部署的版本吗?
3.你为什么关心变更集?在CI中,每次签入都会触发具有最新版本的生成。

我尝试的是多个.sln,而不是csproj。因此,一个变更集进入并与一个分支关联,该分支内部将有一个.sln,我需要构建该特定的.sln。因此ci监视/分支,在/分支中可能有3个分支,每个分支都有一个独立版本的mySolution.sln。因此,导航是/branchs/us1/mySolution.sln vs/branchs/us2/mySolution.sln,当变更集出现时,它将针对us1或us2,或者两者。我需要tfs将*替换为/branchs/*/mySolution中的分支名称。SLN分支是动态创建的,因此ci正在监视一个包含多个分支的文件夹,而不是每个分支一个ci。除非有办法在创建分支时克隆生成模板(无手动配置)?如果有十个分支,其中两个分支受到一个变更集的影响,请编译这两个解决方案。我不会为每个分支创建一个分支,而是为单个分支中的每个分支创建一个文件夹,并使tfs侦听父分支,并在签入时构建它。可以使用发布配置文件的web部署功能在构建时创建iis网站。