问题标签 [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.

0 投票
2 回答
358 浏览

azure - 无法在 VSTS 托管的 VS2017 代理上启动 AzureStorageEmulator

我们在 VSTS 上有 .Net 项目构建定义,它使用 Azure 存储模拟器来运行测试。我们希望使用 Hosted 2017 代理进行构建定义。

我看到了这个问题(Azure SDK not available on Hosted VS2017 VSTS Build Agent)和我可以使用命令“ C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe init /server (localdb )\MSSQLLocalDb "来初始化 Azure 存储模拟器。

但是,当我尝试使用命令“ C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe start ”启动 Azure Storage Emulator 时,它失败并出现Error: Unable to start the storage emulator

有没有办法在 VSTS Hosted 2017 代理上启动 Azure 存储模拟器?

命令和错误

0 投票
1 回答
1491 浏览

azure-devops - 如何监控 VSTS 代理的可用性

我们有多个附加到我们的 VSTS 实例的现场构建代理,并希望监控它们的可用性。也就是说,不仅他们的服务正在运行,而且他们可以连接到 VSTS,因为我们之前在代理方面遇到了一些问题。

我检查了 VSTS API 文档,但我找不到返回特定代理是否在线的调用。基本上,当您转到代理池管理页面时,我需要做的是集成 VSTS 中可用的绿色/红色指示器。我不想进行网络抓取,而且我知道我可以检查代理日志(这是我想到的最后手段),但最好有一个更漂亮的解决方案。

有没有人有任何想法?有没有我错过的 API?或者您可以直接与代理交谈并询问其当前是否连接到 VSTS?

0 投票
1 回答
650 浏览

powershell - TFS 代理在文件夹中没有权限

我有一个 PowerShell 脚本,它需要访问文件夹并在其中制作内容(例如删除或重命名子文件夹)。我认为它崩溃是因为我的本地 TFS 代理被拒绝访问此远程计算机中的此文件夹。错误信息是:

2017-10-12T12:49:06.6816226Z ##[错误]删除项目:无法删除项目 \[path_to_the_folder_I_want_my_script_to_access]\old.1:访问路径

2017-10-12T12:49:06.6835446Z ##[错误]被拒绝。

我搜索了这个问题并找到了一个可能的解决方案:将脚本访问的文件夹的读/写权限授予我的 TFS 的构建服务帐户(Svc_tfsbuild 帐户)。但它不起作用。

因此,如果有人有另一种解决方案,那就太棒了。:D

非常感谢你。

祝你有美好的一天!


0 投票
1 回答
125 浏览

msbuild - 除了简单地构建项目之外,构建代理还需要什么?

使用基本构建代理成功构建 MVC 项目,这意味着仅使用 TFS“代理池”下载和设置过程创建的代理。

在尝试将任务添加到我的构建定义中时,通过阅读许多 SO 帖子和观察,我了解到“基本”构建代理可以构建一个项目,但似乎没有其他作用。例如,我知道要在 Build Agent 上运行单元测试,需要安装 Visual Studio。但我(天真地)假设至少 MSBuild 安装在 Build Agent 上;似乎没有。

问题 1:请确认是否必须安装 MSBuild 才能将其他 MSBuild 任务添加到我的构建定义?我可以只安装 MSBuild 吗? 问题 1a:如果 MSBuild 不在基本 Build Agent 上,Build Agent 使用什么来构建项目?

问题2:如果我想在Build Agent上做单元测试,免费的VS版本(Community 2017)够用吗,还是需要安装完整版的VS?(我正在运行完整的 VS/TFS 现场版本)其他一些论坛在前一年的版本中建议免费的 VS 版本(我相信称为 Express)足以在 Build Agents 上进行单元测试。

问题 3:这些是我在构建代理、MSBuild 或 VS 上需要的唯一 2 个“级别”附加包吗?如果我一开始只安装了 MSBuild,我会在稍后将 VS 添加到 Build Agent 时遇到问题,因为它会在之前的 MSBuild 安装上安装 MSBuild?

0 投票
3 回答
1920 浏览

java - VSTS 构建代理:Java 9

我在我的构建服务器上安装了最新的 java sdk(包括 jre)版本 9.0.1 并重新启动了代理。代理似乎没有检测到 Java,缺少 java 功能并且构建不会运行,因为代理上没有设置 java 功能。

我需要做些什么才能让 java 得到认可吗?最后一个 java 8.* 版本被正确识别

0 投票
1 回答
390 浏览

msbuild - TFS 构建错误 - 无法侦听管道名称“xxx”,因为另一个管道端点已经在侦听该名称

在 TFS 中,我正在为我的 .Net 项目进行构建。我已经在本地配置了代理,并使用它进行构建。错误说如下

无法侦听管道名称“net.pipe://localhost/taskagent/6/xxxxxx”,因为另一个管道端点已经在侦听该名称。

不确定,这到底是什么......请帮忙。附上错误截图以供参考。 在此处输入图像描述 注意:我没有在代码中使用任何 TDD/测试过程

0 投票
1 回答
5259 浏览

msbuild - 什么 TFS 2017 构建任务在 TFS 构建期间应用 web.config 转换?

更改了一些原始信息,以使帖子在发现后更加关注真正的问题。

这些是当前环境的一些细节。我列出这些只是因为在其他帖子中提出了问题,以确定在当前环境中哪些是有效的,哪些是无效的:

工件位置如下图所示:

在此处输入图像描述

我在微软的 VS 网站、SO 和其他论坛上对此进行了深入研究,但是有很多不同的答案,其中很多是针对旧版本的,我无法将其拼凑起来。结果我有几个子问题。

1)转换可以同时参与构建和发布吗?. 我读到转换是在发布过程中应用的,而不是在构建过程中,这让我想知道在构建过程中是否甚至可以做到这一点。但是当我探索发布时,我看到所有相同的任务都可以在 Build 中使用,这表明我可以在 Build 或 Release 中使用转换进行发布。那是对的吗?

2) TFS 2017 是否需要大量特殊处理才能使用转换文件? 一些帖子指示编辑 .proj 文件。我想在进行这种详细操作之前得到确认,特别是考虑到 TFS 2017 的改进。

以下信息是名为“confPanner-CI”的当前构建定义的状态。阴影 PS 脚本已成功用于上传到托管位置以测试整个过程,但这对于需要应用转换的手头任务来说是不够的:

在此处输入图像描述

还为 powershell 脚本创建临时位置的完整 MSBuild 参数是:

如果我要添加一个发布任务,我会看到 Publish Build Artifacts 任务:

在此处输入图像描述

但如下所示的设置似乎都与变换无关:

在此处输入图像描述

底线问题是:如何配置构建,以便 web 项目上传应用了正确的 web 转换?

更新: 在下面的答案之后添加的以下内容导致至少有一个地方可以在构建期间应用 VS 转换,并且可能也是一个发布。

在 MSBuild 构建解决方案任务中设置配置,如下所示:

在此处输入图像描述

0 投票
1 回答
5902 浏览

azure-devops - 本地构建代理无法使用 .net 4.7.1 上的项目构建解决方案

我们最近将一些项目升级到 .net 框架 4.7.1,但我们的本地构建代理无法运行构建解决方案构建步骤。我们正在使用 Visual Studio 团队服务。

完整的错误是......

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets (1122, 5) C:\Program Files (x86)\Microsoft Visual Studio\2017\ Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1122,5):错误 MSB3644:找不到框架“.NETFramework,Version=v4.7”的参考程序集。要解决此问题,请为此框架版本安装 SDK 或 Targeting Pack,或者将您的应用程序重新定位到已安装 SDK 或 Targeting Pack 的框架版本。请注意,程序集将从全局程序集缓存 (GAC) 中解析,并将用于代替引用程序集。因此,您的程序集可能无法正确定位于您想要的框架。

构建机器是安装了 Visual Studio 2017、15.4.4 的 windows server 2016 azure VM。我从这里手动安装了 4.7.1 .net framework sdk:https ://docs.microsoft.com/en-us/dotnet/framework/whats-new/index#v471 。

我已经重新启动并重新启动了代理服务,但上述操作仍然失败。

任何想法如何解决这个问题?

完整的构建解决方案日志文件可以在这里找到:构建解决方案日志要点

谢谢,

0 投票
1 回答
66 浏览

build - 如何创建与 Visual Studio 的 Web 部署发布方法等效的 TFS2017 构建任务?

我正在尝试为 Web 应用程序项目完成持续集成/持续部署自动化。我得到了一系列 SO 帖子link1link2link3的帮助,现在一切都在运行,除了上传到托管服务器的时间比需要的长;我目前上传所有文件,而不仅仅是那些更改的文件。

创建 TFS2017 构建(或发布)时,有许多任务选项,包括来自市场的一些选项。在这种情况下,我指的是 Build 的对话,如下所示:

在此处输入图像描述

我目前正在使用 PowerShell 脚本,如上所述,该脚本似乎有点陈旧且效率低下。我们可用的任何任务是否模仿了运行得非常好且快速的 Visual Studio 2017 Web 部署发布方法?如果不是,我可以使用什么来检查是否必须上传文件的“智能”上传过程?

0 投票
1 回答
514 浏览

msbuild - 如何解决构建错误:使用 CI 构建工具未找到框架“.NETPortable,Version=v5.0”的参考程序集

我最近在使用 TeamCity Build Agent 时遇到了一些问题。我开始在构建机器上用完空间,所以我选择删除一些旧的 Visual Studio (2013) 实例,并切换到仅使用 Visual Studio 2017 构建工具(其中包括卸载之前完整安装的 VS2017 Enterprise当下)。我认为由于这个过程,一些重要的构建组件已被无意中删除,但我不清楚它们到底是什么。我的项目使用 NuGet 包的组合,其中包括 NETStandard 库 v1.3 和一些 4.6.1 框架的 .NET 库。我得到的构建错误只发生在我的库上,它们都是 netstandard1.3 可移植库,它们都读取:

以前这些项目在这台服务器上构建得很好,所以我假设任何符合 .NETPortable,Version=v5.0 库的内容都已被删除。我如何让他们回来?从我可以看到的构建工具中,我已经安装了所有可用的功能、netcore、所有框架,但它仍然不起作用。任何建议都将受到欢迎。