gpt4 book ai didi

build - 如何在 "visual studio team services"中使用来自多个 "Team Projects"的源代码创建构建定义?

转载 作者:行者123 更新时间:2023-12-02 03:09:42 25 4
gpt4 key购买 nike

我喜欢使用 VSTS(“visual studio team service”),但我遇到了一个大问题。

基本上,我有一些类库解决方案(例如 ClassLibrary1 、 ClassLibrary2 ),我在其他项目(例如 websiteSolution1、websiteSolution2 、 websiteSolution3)中使用它们作为引用。

当然,我喜欢为每个解决方案创建一个单独的 git repo(VSTS 中的团队项目),假设“团队项目”与它们包含的解决方案同名。

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

  1. 如果有人对类库“团队项目”之一(例如 ClassLibrary1)做出任何更改,那么我们首先构建该类库解决方案并使用结果(DLL 文件)将其提供给网站解决方案(例如 websiteSolution1、 websiteSolution2 , websiteSolution3.) 最后构建 web 解决方案(它们在不同的团队项目中但在同一个帐户中)

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

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

最佳答案

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

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

解决方法:

您可以通过 git 命令获取其他存储库中的其他文件(命令行构建步骤,您需要在构建定义的 Option 标记中选中允许脚本访问 OAuth token )。

enter image description here

1.if someone commit any change to one of the classlibrary "team project" (e.g. ClassLibrary1) then first we build that classLibrary solution and use the result ( the DLL file) to feed it into Websites solutions (e.g. websiteSolution1, websiteSolution2 , websiteSolution3.) and finally build the web solutions (which are in different team project but the same account)

步骤:

  1. 为类库项目/解决方案创建新的构建定义
  2. 添加 PowerShell 构建步骤以调用构建 REST API 来排队构建您的网站(查看 this 文章中的代码)
  3. 检查持续集成 (CI) 并在此构建定义的“触发器”选项卡中设置分支过滤器

2.if someone commit any change to one of the Websites solutions (e.g. websiteSolution1) then first we build every classlibrary "team projects" (e.g. ClassLibrary1 , ClassLibrary2 ) and use the result ( the DLL file) to feed it into Websites solutions thehas a commit (e.g. websiteSolution1, ) and finally build the web solution (which is in different team project but the same account)

步骤:

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

例如:

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

关于build - 如何在 "visual studio team services"中使用来自多个 "Team Projects"的源代码创建构建定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40660947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com