我一直在使用 Team Foundation Server 2012 为数据仓库项目构建持续集成。在这样做的过程中,我注意到标签的标签和构建并没有产生我期望的结果。在研究该问题时,我能够仅使用 Team Foundation Servers 命令行工具提供的命令行参数来复制该问题。这帮助我消除了构建定义中可能影响构建的任何内容。
所以这是我的问题:我有一个构建在一个构建中构建 2 个不同的项目。它基本上有两个与之关联的 *.SLN 文件。我将标签应用于 2 个资产,每个项目中都有一个。然后我可以执行命令来查看哪些资产具有标签。这样做时,我得到了预期的结果。但是,当我执行命令以获取与此标签关联的资产时,它只会提取两个文件中的 1 个。我已经验证我可以通过删除其中一个项目来提取这两个文件。这是我对构建定义、工作空间和标签的设置
TFS 路径:
$/Dev/Project1
$/Dev/Project2工作区映射
Project1:C:/SourceControl/Project1
Project2:C:/SourceControl/Project2DeploymentFolder
Project1: //DevServer/SSIS/Project1
Project2: //DevServer/SSIS/Project2执行的命令:
应用标签:
tf label TestLabel $/DEV/Project1/PackageA.dtsx
tf label TestLabel $/DEV/Project2/PackageA.dtsx评论标签:
tf labels /format:Detailed LTestLabel从标签获取:
tf get /r /version:LTestLabel
执行 tf get 命令后,我得到以下结果
部署文件夹: //DevServer/SSIS/Project1 包含文件 PackageA.dtsx
部署文件夹: //DevServer/SSIS/Project2 包含 0 个文件。
似乎对在具有相同标签的不同项目中提取资产存在过滤器或限制。我希望如果我将标签应用于 TFS 中的任何资产,然后拉出标签,它应该允许我检索具有该应用标签的所有资产。有人听说过或经历过吗?提供的任何帮助将不胜感激。