问题标签 [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.
azure-devops - Visual Studio Team Services 构建队列未出现在列表中
我正在使用安装在本地计算机上的构建代理在 Visual Studio Team Services 中设置构建定义以进行测试。
我正在按照这些说明创建构建代理、设置构建定义和对构建进行排队。我在本地计算机上创建了代理,它出现在 VSTS 的代理池中。代理已启用并准备就绪。我还创建了一个调用我的构建脚本的构建定义。到目前为止,一切似乎都运行良好。
此时,我已准备好将构建排队并运行它。此对话框如下所示:
标记为“队列”的下拉菜单仅显示Hosted
代理池。应该有第二个池被调用Default
,但它没有出现。我可以通过右键单击并检查 HTML,然后使用开发工具更改选项的值来使其“出现” Hosted
。Hosted
的 ID 是2
,我将其更改为,1
因为我认为这是Default
. 完成此操作后,我可以单击“确定”并且构建按预期运行——构建代理在我的本地计算机上签出所有内容。大概我对 ID 值的假设是正确的。
所以......一旦我把管道弄乱了,一切都会正常工作。但这绝对不是事情应该运作的方式。为什么Default
队列没有出现在下拉列表中?我是否需要在某个地方拨动开关才能使其工作?我的帐户没有足够的访问权限吗?
其他一些细节:
- 我的帐户是“矿池管理员”
- 构建代理未作为 Windows 服务安装。我从命令提示符手动启动它。我无法将其安装为服务。
- 安装了构建代理的机器正在运行 Windows 10 x64 Pro。它是从 Windows 8 x64 Pro 升级而来的。
- 我无法使用托管代理,因为我正在构建 Unity 项目,并且托管代理不支持 Unity。
- 我知道我可以使用 Unity Cloud Build,但我不想。
更新
我删除了以前的 Build Agent 并在运行 Windows 10 Enterprise x64 的 Windows Azure VM 上安装了一个新的作为服务。通过此更改,“托管”和“默认”队列将按预期显示。
azure-devops - 从 Visual Studio 团队服务部署时复制目标目录中的一个文件
我使用 VSTS 作为构建服务器,在构建时我想将 bin 文件夹内容复制到目标的根目录,并将自定义文件从另一个文件夹复制到这个目标。MSDN建议我使用 minimatch 模式,但它使用子目录结构复制文件。我对恢复结构不感兴趣。
例如,我得到这个文件夹结构:
但我想收到这个文件夹结构:
我可以使用哪种 minimatch 模式来满足我的要求?
powershell - 传递字符串 [] 时无法调用正确的 .NET 重载
我有一个我试图从powershell调用的方法,它是
这种方法有多个重载,但让我很难过的是:
我正在使用Find-Files
TFS 2015 的新构建任务中的 cmdlet 获取文件列表:
然后我打电话:
我已经尝试过我知道的任何强制[string[]]
强制数组表示法版本@()
,但是 find-files 的结果总是转换为单个长字符串,然后再传递给正确的重载:
这是生成的“长字符串”
这表明它正在调用正确的重载
该 cmdlet 返回List<string>
以下内容:
为了确保我从调用中获得列表,Find-Files
我添加了:
返回:7,正如预期的那样。
我的问题
如何防止 Powershell 在将结果find-files
传递给之前将其转换为一个长字符串GetPendingChanges
?
项目可用,损坏的代码在底部注释掉:
tfs - 我们可以并行构建多个门控签到吗?
假设我们继续在 TFS 2015 中为门控签入使用 XAML 构建定义,因为 vNext 系统不支持它们,是否仍然可以让多个门控签入并行运行?
我知道构建设置 UI 中有一个 Parallel 选项,但我不知道它是否也可以应用于 XAML 构建定义,以及还有哪些其他约束。
你可以在同一个盒子上并行构建(只要它支持多个代理)?
azure-devops - VSTS 发布:NuGet Publisher 步骤失败
我正在使用 Visual Studio Online 中的发布功能。我的项目内置在我想发布到 nuget 提要的 nuget 包中。
我正在成功构建 nuget 包并将其发布到 Artifacts 中,当我尝试浏览 Artifacts 时可以看到所需的文件。然后我切换到 VSO 发布,作为发布的一部分,我有 Nuget Publisher 步骤:
我正在使用 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 步骤的完整日志
tfs - TFS Build vNext - 将所有程序集复制到一个文件夹
我对 vNext 的第一印象非常好。一切似乎都简单明了。现在我只想完成一件简单的事情,它变得复杂了?我有一个简单的构建定义,其中包含 Visual Studio 构建。构建完成后,我想将所有文件从 bin 文件夹复制到网络共享上的一个文件夹中。对于 xaml 构建定义,如果您将复制构建输出设置为 \\myserver\share,这已经是默认行为。现在使用默认的 Copy and Publish Build Artifacts,所有内容都被复制到每个项目的单独文件夹中。喜欢
但我想要所有的程序集
我怎样才能做到这一点(尽可能简单)。
azure - Visual Studio Team Services 从本地构建代理设置内部版本号
我有一个在 Azure 上运行的本地构建代理来创建 Unity 3D 应用程序的构建。构建工作得很好,但我想要一种将构建名称推回 Visual Studio Team Services 的方法,以便它填充票证中的实施下拉列表:
我发现我可以在 VSTS 中设置变量,但我的构建名称的一部分来自 Unity 本身,因此 VSTS 无法知道构建名称是什么。如果可能的话,我希望 VSTS 中的构建名称与 Unity 生成的实际构建相匹配。
是否可以将构建名称从构建代理推送到 VSTS,以便填充实施下拉菜单?
这是尝试 Pascal Berger 的建议后我的构建列表的样子:
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 命令行开关 - 相同。
visual-studio-2015 - TFS 2015 在一个目录中发布构建工件
我们刚刚从TFS 2010
to升级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
但最好在发布过程本身期间执行此操作。