问题标签 [azure-pipelines]

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 回答
8589 浏览

azure-devops - Visual Studio Team Services 构建队列未出现在列表中

我正在使用安装在本地计算机上的构建代理在 Visual Studio Team Services 中设置构建定义以进行测试。

我正在按照这些说明创建构建代理、设置构建定义和对构建进行排队。我在本地计算机上创建了代理,它出现在 VSTS 的代理池中。代理已启用并准备就绪。我还创建了一个调用我的构建脚本的构建定义。到目前为止,一切似乎都运行良好。

此时,我已准备好将构建排队并运行它。此对话框如下所示:

在此处输入图像描述

标记为“队列”的下拉菜单仅显示Hosted代理池。应该有第二个池被调用Default,但它没有出现。我可以通过右键单击并检查 HTML,然后使用开发工具更改选项的值来使其“出现” HostedHosted的 ID 是2,我将其更改为,1因为我认为这是Default. 完成此操作后,我可以单击“确定”并且构建按预期运行——构建代理在我的本地计算机上签出所有内容。大概我对 ID 值的假设是正确的。

所以......一旦我把管道弄乱了,一切都会正常工作。但这绝对不是事情应该运作的方式。为什么Default队列没有出现在下拉列表中?我是否需要在某个地方拨动开关才能使其工作?我的帐户没有足够的访问权限吗?

其他一些细节:

  1. 我的帐户是“矿池管理员”
  2. 构建代理作为 Windows 服务安装。我从命令提示符手动启动它。我无法将其安装为服务。
  3. 安装了构建代理的机器正在运行 Windows 10 x64 Pro。它是从 Windows 8 x64 Pro 升级而来的。
  4. 我无法使用托管代理,因为我正在构建 Unity 项目,并且托管代理不支持 Unity。
  5. 我知道我可以使用 Unity Cloud Build,但我不想。

更新

我删除了以前的 Build Agent 并在运行 Windows 10 Enterprise x64 的 Windows Azure VM 上安装了一个新的作为服务。通过此更改,“托管”和“默认”队列将按预期显示。

0 投票
7 回答
30991 浏览

azure-devops - 从 Visual Studio 团队服务部署时复制目标目录中的一个文件

我使用 VSTS 作为构建服务器,在构建时我想将 bin 文件夹内容复制到目标的根目录,并将自定义文件从另一个文件夹复制到这个目标。MSDN建议我使用 minimatch 模式,但它使用子目录结构复制文件。我对恢复结构不感兴趣。

例如,我得到这个文件夹结构:

但我想收到这个文件夹结构:

我可以使用哪种 minimatch 模式来满足我的要求?

0 投票
2 回答
211 浏览

powershell - 传递字符串 [] 时无法调用正确的 .NET 重载

我有一个我试图从powershell调用的方法,它是

这种方法有多个重载,但让我很难过的是:

我正在使用Find-FilesTFS 2015 的新构建任务中的 cmdlet 获取文件列表:

然后我打电话:

我已经尝试过我知道的任何强制[string[]]强制数组表示法版本@(),但是 find-files 的结果总是转换为单个长字符串,然后再传递给正确的重载:

这是生成的“长字符串”

 

这表明它正在调用正确的重载

该 cmdlet 返回List<string>以下内容:

为了确保我从调用中获得列表,Find-Files我添加了:

返回:7,正如预期的那样。

我的问题

如何防止 Powershell 在将结果find-files传递给之前将其转换为一个长字符串GetPendingChanges

项目可用,损坏的代码在底部注释掉:

0 投票
1 回答
728 浏览

tfs - TFS VSO build 2015 不显示控制台输出

我对新的 TFS 版本有疑问。当我运行构建时,会出现控制台输出。 在此处输入图像描述

但是当构建完成时,控制台输出就会消失,并且无法查看构建过程中发生了什么。控制台输出完全丢失 在此处输入图像描述

在 VSOAgent 的日志中,我发现以下错误。也许这与它有关。它说访问被拒绝,但用户在 TFS 服务器和代理服务器上都是管理员:

0 投票
2 回答
2104 浏览

tfs - 我们可以并行构建多个门控签到吗?

假设我们继续在 TFS 2015 中为门控签入使用 XAML 构建定义,因为 vNext 系统不支持它们,是否仍然可以让多个门控签入并行运行?

我知道构建设置 UI 中有一个 Parallel 选项,但我不知道它是否也可以应用于 XAML 构建定义,以及还有哪些其他约束。

你可以在同一个盒子上并行构建(只要它支持多个代理)?

0 投票
1 回答
526 浏览

azure-devops - VSTS 发布:NuGet Publisher 步骤失败

我正在使用 Visual Studio Online 中的发布功能。我的项目内置在我想发布到 nuget 提要的 nuget 包中。

我正在成功构建 nuget 包并将其发布到 Artifacts 中,当我尝试浏览 Artifacts 时可以看到所需的文件。然后我切换到 VSO 发布,作为发布的一部分,我有 Nuget Publisher 步骤:

VSO 发布截图

我正在使用 VSO 内部 nuget 提要,地址如下:

https://mytenant.pkgs.visualstudio.com/DefaultCollection/_packaging/myfeedname/nuget/v3/index.json

当我创建新版本时,此步骤失败:

显然 nuget 文件路径没有被传递给脚本。我还尝试指定 nuget 的确切路径(从下拉列表中选择):

$(System.DefaultWorkingDirectory)\Build & Test\nuget package\MyPackageName.1.1.16014.7.nupkg

但是得到了同样的错误。

此步骤仅在我在 VSO Release 中使用时才会失败。当我使用 Nuget Publisher 步骤作为构建步骤并指定相同的 nuget 提要地址和“nupkg 的路径/模式”时**\bin\MyPackageName.*.nupkg,我将包发布到提要。

知道如何为 VSO 版本修复此错误吗?

UPD:这是日志调试输出

这是Nuget Publisher 步骤的完整日志

0 投票
1 回答
1282 浏览

tfs - TFS Build vNext - 将所有程序集复制到一个文件夹

我对 vNext 的第一印象非常好。一切似乎都简单明了。现在我只想完成一件简单的事情,它变得复杂了?我有一个简单的构建定义,其中包含 Visual Studio 构建。构建完成后,我想将所有文件从 bin 文件夹复制到网络共享上的一个文件夹中。对于 xaml 构建定义,如果您将复制构建输出设置为 \\myserver\share,这已经是默认行为。现在使用默认的 Copy and Publish Build Artifacts,所有内容都被复制到每个项目的单独文件夹中。喜欢

但我想要所有的程序集

我怎样才能做到这一点(尽可能简单)。

0 投票
1 回答
723 浏览

azure - Visual Studio Team Services 从本地构建代理设置内部版本号

我有一个在 Azure 上运行的本地构建代理来创建 Unity 3D 应用程序的构建。构建工作得很好,但我想要一种将构建名称推回 Visual Studio Team Services 的方法,以便它填充票证中的实施下拉列表:

在此处输入图像描述

我发现我可以在 VSTS 中设置变量,但我的构建名称的一部分来自 Unity 本身,因此 VSTS 无法知道构建名称是什么。如果可能的话,我希望 VSTS 中的构建名称与 Unity 生成的实际构建相匹配。

是否可以将构建名称从构建代理推送到 VSTS,以便填充实施下拉菜单?

这是尝试 Pascal Berger 的建议后我的构建列表的样子:

在此处输入图像描述

0 投票
1 回答
198 浏览

tfs - Zapier 触发 VSTS 构建失败

我有使用 VSBuild 构建的构建定义。从 Web 界面触发时,它可以完美运行。但是当从 Zapier 触发时,它会失败并出现以下错误:

[错误]C:\TFSAgent_work\1\s\CityExpert.sln.metaproj(0,0): 错误 MSB4126: 指定的解决方案配置“CRMDev|any cpu”无效。请使用配置和平台属性(例如 MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU")指定有效的解决方案配置,或将这些属性留空以使用默认解决方案配置。

但是该配置已在解决方案中,并且与手动排队构建使用的相同。所有配置都是一样的,brench也是一样的。日志中的 MSBuild 命令行开关 - 相同。

0 投票
3 回答
15095 浏览

visual-studio-2015 - TFS 2015 在一个目录中发布构建工件

我们刚刚从TFS 2010to升级TFS 2015,我正在以“vNext”构建/工作流格式重新创建 XAML-Build-Definition。

在旧版本中,可以将所有文件(DLL)平放在一个目录中,而无需原始目录结构。

使用新的 TFS 2015 Build 框架是否仍然可以做到这一点?

我有以下- 设置Publish Build Artifact

Artifact Type: File Share

Path: \\server\tfslib\$(Build.DefinitionName)\$(Build.DefinitionName)_$(Build.BuildNumber)

问题是原始解决方案目录结构保留在Path. 如何在没有整个子树的情况下获得输出?

作为一种解决方法,我目前正在使用 Powershell 步骤执行此操作,Publish Build Artifact但最好在发布过程本身期间执行此操作。