我喜欢使用VSTS(“视觉工作室团队服务”),但我遇到了一个重大问题。
基本上,我有一些类库解决方案(例如ClassLibrary1,ClassLibrary2),我在其他项目中使用它们作为参考(例如websiteSolution1,websiteSolution2,websiteSolution3。)
当然,我希望每个解决方案都有一个单独的git repo(VSTS中的团队项目),假设“团队项目”与它们包含的解决方案具有相同的名称。
现在我想用以下规则创建一些构建定义:
如果有人对类库“团队项目”(例如ClassLibrary1)进行任何更改,那么首先我们构建该classLibrary解决方案并使用结果(DLL文件)将其提供给网站解决方案(例如websiteSolution1, websiteSolution2,websiteSolution3。)并最终建立了网络解决方案(在不同的团队项目中,但帐户相同)
如果有人对其中一个网站解决方案(例如websiteSolution1)进行了任何更改,那么首先我们构建每个类库“团队项目”(例如ClassLibrary1,ClassLibrary2)并使用结果(DLL文件)将其提供给网站解决方案已经提交(例如websiteSolution1,) 最后构建Web解决方案(在不同的团队项目中,但是使用相同的帐户)
问题: 当我创建一个新的“构建定义”时,我只能看到包含构建定义的同一个团队项目中的代码。
答案 0 :(得分:1)
不支持VSTS git构建的多个存储库。 (如果我们使用TFVC,我们可以映射多个来源)
There是您可以投票的相关用户语音。
解决方法:
您可以通过git命令在其他存储库中获取其他文件(命令行构建步骤,您需要选中允许脚本访问构建定义的Option标记中的OAuth令牌)。
1.如果有人对其中一个类库"团队项目进行了任何更改" (例如ClassLibrary1)然后我们首先构建该classLibrary解决方案并使用结果(DLL文件)将其提供给网站解决方案(例如websiteSolution1,websiteSolution2,websiteSolution3。),最后构建Web解决方案(在不同的团队项目中,但是同一帐户)
步骤:
2.如果有人对网站解决方案之一(例如websiteSolution1)进行任何更改,那么首先我们构建每个类库和团队项目" (例如ClassLibrary1,ClassLibrary2)并使用结果(DLL文件)将其提供到网站解决方案中,并提交(例如websiteSolution1),最后构建Web解决方案(在不同的团队项目中,但帐户相同)
步骤:
例如:
<Reference Include="ClassLibraryB">
<HintPath>..\..\MSBuildDemoSolution1\ClassLibrary1\Lib\ClassLibraryB.dll</HintPath>
</Reference>