如何在“Visual Studio Team Services”中创建使用来自多个“团队项目”的源代码的生成定义?

How to create a build definition in "visual studio team services" that is using source codes from multiple "Team Projects"?

提问人:Farzad J 提问时间:11/18/2016 更新时间:11/22/2016 访问量:647

问:

我喜欢使用 VSTS(“Visual Studio 团队服务”),但我有一个主要问题。

基本上,我有一些类库解决方案(例如 ClassLibrary1 , ClassLibrary2 ),我将它们用作其他项目的参考(例如 websiteSolution1、websiteSolution2 、websiteSolution3。

当然,我喜欢为每个解决方案使用单独的 git 存储库(VSTS 中的团队项目),假设“团队项目”与它们包含的解决方案具有相同的名称。

现在,我想使用以下规则创建一些构建定义:

  1. 如果有人对某个类库“团队项目”(例如 ClassLibrary1)提交任何更改,那么首先我们构建该类库解决方案并使用结果(DLL 文件)将其输入网站解决方案(例如 websiteSolution1、websiteSolution2、websiteSolution3),最后构建 Web 解决方案(位于不同的团队项目中,但帐户相同)

  2. 如果有人对其中一个网站解决方案(例如websiteSolution1)进行了任何更改,那么首先我们构建每个类库“团队项目”(例如ClassLibrary1,ClassLibrary2)并使用结果(DLL文件)将其输入到网站解决方案中,并提交(例如websiteSolution1,) 最后生成 Web 解决方案(位于不同的团队项目中,但帐户相同)

问题: 当我创建新的“生成定义”时,我只能看到包含生成定义的同一团队项目中的代码。

持续集成 Azure-DevOps 生成服务器 团队项目

评论

0赞 starian chen-MSFT 11/21/2016
你可以在构建过程中通过调用 Git 命令来获取另一个仓库中的其他文件,你可以查看我的答案。

答:

1赞 starian chen-MSFT 11/18/2016 #1

不支持 VSTS git build 的多个存储库。(如果使用 TFVC,我们可以映射多个源)

有一个相关的用户声音,你可以投票给它。

解决方法:

您可以通过 git 命令获取其他存储库中的其他文件(命令行构建步骤,您需要在构建定义的 Option 标签中选中 Allow Scripts to Access OAuth Token)。

enter image description here

1.如果有人对某个类库“团队项目”(例如ClassLibrary1)进行任何更改,那么首先我们构建该classLibrary解决方案并使用结果(DLL文件)将其输入网站解决方案(例如websiteSolution1,websiteSolution2,websiteSolution3),最后构建Web解决方案(位于不同的团队项目中,但相同的帐户)

步骤:

  1. 为类库项目/解决方案创建新的生成定义
  2. 添加 PowerShell 生成步骤以调用生成 REST API 以对网站的生成进行排队(查看本文以获取代码)
  3. 选中“持续集成 (CI)”,并在此生成定义的“触发器”选项卡中设置分支筛选器

2.如果有人对其中一个网站解决方案(例如websiteSolution1)进行任何更改,那么首先我们构建每个类库“团队项目”(例如ClassLibrary1,ClassLibrary2)并使用结果(DLL文件)将其输入到网站解决方案中,并提交(例如websiteSolution1,),最后构建Web解决方案(在不同的团队项目中,但相同的帐户)

步骤:

  1. 为 WebSites 解决方案创建生成定义
  2. 添加命令行构建步骤以运行 git 命令以获取另一个存储库中的类库文件(请参阅前面的屏幕截图)
  3. 添加 Visual Studio 生成步骤以生成类库项目/解决方案
  4. 添加复制文件步骤,将构建结果文件(例如 .dll 文件)复制到网站项目 classlibray 引用的相关路径的必要文件夹。你可以在项目文件中检查它,

例如:

<Reference Include="ClassLibraryB">
      <HintPath>..\..\MSBuildDemoSolution1\ClassLibrary1\Lib\ClassLibraryB.dll</HintPath>
    </Reference>
  1. 添加 Visual Studio 生成步骤以生成网站项目/解决方案

评论

0赞 SpoiledTechie.com 3/10/2017
MSoft怎么能错过这件作品。从多个存储库构建非常重要,它们根本不支持它。野生。