问题标签 [build-agent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nuget - Visual Studio 2017 构建代理无法构建并出现错误 cs0400
我已经安装了 VS 2017 Build 代理并将其注册到“默认”代理队列中。我正在尝试构建的项目是一个 VS 2017 类库项目,针对.Net Standard 1.0。从 Visual Studio 构建时,构建成功。但是,构建代理上的构建失败。
T16:05:59.0389362Z ##[error]C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp.NETStandard,Version=v1.0.AssemblyAttributes.cs(4,20):错误 CS0400:类型或命名空间在全局命名空间中找不到名称“系统”(您是否缺少程序集引用?)
通过将构建日志与我的本地构建进行比较,我可以看到构建代理调用 csc.exe 时缺少“引用”属性。我的项目没有任何明确的引用——它只需要 .NetStandard 1.0 库 (SDK)。构建代理使用的命令行是:
\MSBuild\15.0\Bin\Roslyn\csc.exe /noconfig /unsafe- /checked- /nowarn:1701,1702,1705 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE;RELEASE;NETSTANDARD1_0 /debug- / debug:portable /filealign:512 /nologo /optimize+ /out:obj\Release\netstandard1.0\Geo.Common.dll /ruleset:"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Team Tools \Static Analysis Tools\Rule Sets\MinimumRecommendedRules.ruleset" /target:library /warnaserror- /utf8output /deterministic+ Distance.cs DistanceExtensions.cs GeoCoordinate.cs Unit.cs "C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp .NETStandard,Version=v1.0.AssemblyAttributes.cs" obj\Release\netstandard1.0\Geo.Common.AssemblyInfo.cs
我知道我可以将“参考”列表硬编码为构建定义中构建步骤的命令行属性,但这是一种解决方法。解决此问题的正确方法是什么?
谢谢!
更新 原来失败的原因是构建定义中的较早步骤,NuGet 还原使用的是 3.5 版本的 nuget.exe。因为项目文件是 VS 2017 格式,所以 nuget.exe 找不到任何引用的包,因此在没有实际拉入任何内容的情况下成功完成。因此,在下一步中,构建失败,因为没有 NuGet 包(因此任何程序集) 被发现。
解决方案
我下载了 nuget.exe 4.0(在此处找到)并将其放在代理的工作目录中(在我的情况下为D:\VsAgentWork\nuget.exe)。然后,我自定义了 NuGet 还原步骤,以从提供的位置 ( ....\nuget.exe ) 引用 nuget.exe。
azure - Azure 托管代理 - Visual Studio 2017
我在 Azure 中设置了一个托管代理来进行 CI 构建,但是在构建失败之前的 Visual Studio 构建步骤中我收到了以下警告:
“未找到 Visual Studio 版本 '15.0'。正在寻找最新版本。”
查看托管代理的文档,看起来它们没有与 Visual Studio 2017 一起部署:
https://www.visualstudio.com/en-gb/docs/build/concepts/agents/hosted
有谁知道托管代理何时将与 Visual Studio 2017 一起部署或何时部署?
build-automation - 使用多个构建代理进行增量构建和发布
我正在 Visual Studio Team Services 中为我的解决方案设置自动构建和发布定义。
我们使用托管代理池,池中有多个代理。因为解决方案会变得非常大,所以我想让我的构建和发布过程递增,这样我就不必在每次构建和发布时都部署所有组件。
使用多个代理时如何设置增量构建和发布?我了解设置增量构建的步骤之一是禁用构建文件夹的自动清理,但是这将如何与多个代理一起使用?
例如,如果构建 #1 发生在代理 #1 上,而构建 #2 发生在代理 #2 上,它将如何检测从代理 #1 上的构建 #1 更改/添加的文件?
我首先寻求帮助以从概念上理解这个问题,然后我想弄清楚如何在 Visual Studio Team Services 中应用该解决方案。
github - 团队服务 - 在构建失败时在 Github 中创建问题
我使用 Github 作为我的 repo 以及我的看板/Scrum 板。我们使用 Visual Studio Team Services 进行自动化构建。我们真的很喜欢 VSTS 的工作方式,它与 Github 作为 repo 配合得很好。
但是,如果我们的持续集成构建失败,我希望能够创建一个新的 Github 问题/错误。我知道您可以创建一个 VSTS 工作项,但我宁愿将所有问题集中起来。
有什么方法可以在构建失败时连接 VSTS 以创建 Github 存储库?或者在创建新的 VSTS 工作项时创建 Github 问题?
我们正在运行我们自己的构建服务器,所以可能在这方面可以做些什么?
msbuild - TeamCity - 10.0.5 没有兼容的构建代理
我想知道是否有人可以帮助我解决这个问题。
首先作为背景,我们使用 TeamCity 进行数据库部署已经有一段时间了。今天我们升级到 10.0.5。一切都好。
我们遇到的问题是 SQL 2016 数据库项目。我正在尝试在 TeamCity 中构建数据库项目。构建中的构建“Visual Studio”设置被设置为“Microsoft Visual Studio 2015”,这会导致问题,因为它无法构建它。因此,我将其更改为“Microsoft Visual Studio 2017”,并在 TeamCity 框中安装了“Build Tools for Visual Studio 2017”。
现在,当我单击运行按钮时,我收到一条消息,说“警告没有启用兼容的构建代理......”。
几乎就像允许构建代理使用 VS2015 MSBuild 而不是 2017 一样,我不确定如何授权它才能使用。
我还附上了一些屏幕截图。
谢谢,
powershell - TFS 2015/2017 中 PowerShell 的 Build Drop Location 环境变量名称是什么
在以前版本的 TFS(2015 年之前)中,有一个 PowerShell 的构建环境变量称为:TF_BUILD_DROPLOCATION,它给出了放置的位置: https ://msdn.microsoft.com/library/hh850448%28v=vs.120 %29.aspx。
我在 TFS 2017 中找不到等效变量。获得它的最佳做法是什么?
tfs - TFS 发布管理构建代理不可用
最近,我能够在笔记本电脑上配置构建代理,并在 TFS 上成功构建。
然后我尝试切换到构建服务器 VM。我创建了一个与我在笔记本电脑上使用的帐户具有相同权限的服务帐户,并在计算机上配置了一个新的构建代理以使用服务帐户和相同的池并启动了代理。
当我登录到 TFS 时,我可以看到代理在正确的池中运行,并且它是绿色的。所以我从笔记本电脑上禁用了代理,所以它将使用构建服务器上的新代理。但是,当我将构建排队到池中时,消息显示“所有可能的代理已被禁用”。因此,我的新代理在池中并已启用,但是当我将构建排队时,它不会被视为可能的代理。
如何让新代理接收请求以对新构建进行排队?我验证它在构建机器上作为服务运行。
msbuild - .NET Standard 和 TFS 2015 -> 构建失败
我的基础架构现在有 TFS 2015,但我们在 .NET Standard 中启动了一个新项目。我们的构建服务器现在有 VS2017,当在该服务器的 VS2017 中加载项目时,项目就会构建。
当我们设置新的构建定义以通过构建代理运行构建时,它会失败。似乎甚至找不到系统:
错误 CS0246:找不到类型或命名空间名称“System”(您是否缺少 using 指令或程序集引用?)
有什么简单的事情可以让它工作吗?我们必须迁移到新的构建步骤才能让它工作?一些解决方法?
xamarin - 为什么 CI 的本地 TFS 服务器上需要最新的 Xamarin?
以下页面上的要求表明您需要在本地 TFS 服务器上安装带有 Xamarin 的 Visual Studio 以设置 Xamarin CI 构建: https : //developer.xamarin.com/guides/cross-platform/ci/intro_to_ci/ CI
这是一个真正的痛苦。我们有很多依赖我们本地 TFS 服务器的开发人员,其中大多数人不进行任何 Xamarin 开发。因此,任何更改都会受到严格审查。这通常会导致我们不安装最新的 VS/Xamarin 版本,因为它被认为对于这个重要的基础架构来说风险太大。
我们可以有一台安装了 VS 和 Xamarin 的 Windows 构建机器,它连接到 Mac 构建机器。我们可以定期更新 Windows 和 Mac 构建机器,而不必担心损害 TFS 服务器。这可能吗?如果不是,为什么不呢?
提前致谢。
tfs - TFS 构建代理用户能力的值是否可在构建步骤中获得?
我正在尝试在 TFS 中编写一个构建步骤,该步骤依赖于知道构建代理将 nuget.exe 存储在哪里(标准的 nuget-install 步骤以破坏构建执行的方式混淆了参数的顺序,所以我想使用批处理/shell/ps 步骤之一自己运行 exe)。
使用该路径在构建代理上设置功能似乎是有意义的,但我似乎无法在任何构建步骤中引用该值,并且在 MSDN 上找不到任何有用的东西。
我期望它类似于$(Env.MyUserCapability)
,但它永远不会解决该值。
是否可以在构建步骤中检索能力值?如果是这样,你怎么做?如果没有,什么是可行的替代方案?