问题标签 [azure-devops-server-2020]
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-pipelines-build-task - 尝试保存包含自定义任务的管道时出错
我正在尝试创建自定义构建任务以在管道执行期间检索常见的 PowerShell 脚本。内联脚本非常简单,在通用 PowerShell 任务中运行时运行良好:
这是我的自定义任务 JSON:
它出现在可用任务列表中:
...我可以将它添加到管道中:
...但是当我尝试保存管道时,出现错误:
这是非常出乎意料的。在我的任务 JSON 中没有一个字段或属性名为key
. 我一定在某处遗漏了什么。我从这里得到了示例 JSON 。
搜索会找到类似错误消息的解决方案,但自定义构建任务除外。
我应该如何修改这个任务,以便我可以成功地保存它并在管道中运行它?
azure-devops-server - 为域外的 Azure DevOps 服务器设置第二个应用层
我们目前安装了具有分离的数据和应用程序层的 Azure DevOps 2020。我们想为不同的组设置第二个应用程序层,但我们似乎无法让它工作。
理想情况下,我们希望将其设置在我们域外的 DMZ 盒子上,希望我们仍然可以访问服务器(在我们的域内运行),只要防火墙规则设置正确。但是,在使用向导设置应用程序层时(当我们选择使用现有数据库的选项时),它似乎根本无法连接到该框。它根本找不到 SQL 服务器的实例。
然后,我们尝试将其移至域中的服务器上,以查看是否可以在没有其他变量的情况下设置第二个应用程序层,但我们仍然无法使其正常工作。现在,一旦我们连接到数据服务器,我们就可以看到数据库,但它给了我们以下消息(请注意,此 Azure DevOps Server 实例在第一个应用程序层上运行良好,因此数据库肯定没有损坏):
TF255375: 无法使用您指定的配置数据库。数据库已损坏,或者数据库的初始配置在安装过程中失败。您必须指定另一个配置数据库。
以下是我的问题:
- 设置第二个应用层是否需要设置 Always On 高可用性组?此处的说明(设置多服务器配置,本地 Azure DevOps)似乎表明它不是必需的,但我想确定一下。
- 运行安装向导的用户是否需要是域用户?我们看到一些暗示这一点的错误。假设运行安装程序的用户与需要成为现有 SQL Server 实例中的用户的用户相同,这是否公平?
- 我可以按照我想要的方式进行设置吗?最终,我希望应用程序层能够位于可以访问域服务器数据层的 DMZ 服务器上(以便域外部的用户可以访问 DevOps)。这是否可能,或者是否有其他方法可以让外部用户访问我的内部 DevOps 服务器(现在不迁移到云)。如果用户运行
谢谢!
azure-devops-server-2020 - 在 Azure DevOps Server 2020.1.1 中,如何停止 UI 提示输入凭据?
我有一个 Azure DevOps 服务器 2020.1.1 实例,它安装在我锁定的 Windows Server 2019 服务器上,并配置为使用托管在单独服务器上的 SQL Server 2019 实例。我的两台服务器都是 AWS 中的 EC2 实例,应用程序服务器通过 ALB 公开。
我在 Azure DevOps 服务器管理控制台中配置为项目集合管理员,因此可以完全访问所有内容,但是在浏览 UI 时,每当 UI 调用 _apis/Contribution/HierarchyQuery 时,我都会不断收到提示输入我的凭据,但不是每次通话。我需要做什么来停止提示用户凭据?
azure-devops-server-2020 - 我更新了一个不起作用的扩展程序,我该如何降级它?
我正在使用 Azure Devops 服务(本地)并将 Power Platform 扩展从 1.0.23 升级到 1.0.40。
此 Power Platform 工具安装程序任务失败并显示“找不到路径的一部分”...\Microsoft.Xrm.Tooling.PackageDeployment.Powershell\3.3.0.928\Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageCore.FinanceOperations.dll '
我已经在服务器上手动安装了该软件包,没有任何问题。
我如何才能恢复到扩展的工作版本(或修复安装问题)?
azure-devops - Nexus 存储库 - Azure DevOps 发布管道
我正在尝试借助Sonatype Nexus Repository Release Artifact从 azure devops 发布管道中的 nexus 存储库管理器下载我上传的工件。
但是,我已经创建了服务连接和配置,然后我尝试在发布管道中使用,但它抛出以下错误:
服务连接配置:
错误:
任何人都可以帮助我确定问题吗?
azure-devops - 当我不断收到 VS30063 错误时,如何配置 Azure DevOps 服务器环境代理?
我安装了 Azure DevOps Server 2020.1.1,它在 EC2 Windows 虚拟机(Server 2019)上运行。我已经能够安装作为构建代理运行的代理实例,但是当我尝试将代理的副本安装为环境代理时,它给了我 VS30063: You are not authorized to access. 我有一个有效的 PAT,它已获得完全权限。当我安装构建代理时,我必须将 url 提供为 https://[FQDN]/Sandbox,其中 Sandbox 是我的集合的名称,但是在安装环境代理时,它不喜欢这种格式的 url 并坚持它是 https://[FQDN]。我已将 IIS 配置为仅具有 https 绑定,并允许匿名身份验证和 Windows 身份验证。
有人可以帮我做些什么来允许使用 PAT 令牌进行访问。
顺便说一句,PAT 是为 Azure DevOps 控制台中配置的管理员用户生成的。
我在 powershell 中运行的命令是:
我正在尝试在 docker 容器中执行此操作,但也尝试直接在服务器上运行代理安装并在那里得到相同的错误。
azure-devops - 无法为 Azure Devops Server 2020 更新 1.1 安装市场扩展
尝试将扩展安装到 DevOps Server 2020 更新 1.1 时遇到以下问题,用户已经拥有项目集合管理权限,并且没有找到有用的信息来解决此问题。一个
还发现了这个工作监控历史 http:///tfs/_oi/_jobmonitoring?_a=history
[3800771] 团队基金会:发布扩展:bleddynrichards.Assembly-Info-Task 结果:失败优先级:10 排队原因:排队主机:团队基金会作业名称:发布扩展:bleddynrichards.Assembly-Info-Task 代理:[CMA-DEVOPS] w3wp.exe 排队时间:2021 年 10 月 31 日星期日上午 9:36 排队时间:0:00:00.323 开始时间:2021 年 10 月 31 日星期日上午 9:36 运行时间:0:00:00.42 结束时间:星期日, 2021 年 10 月 31 日上午 9:36 结果消息:发布扩展失败:发送请求时出错。主机 ID:cce5c55f-cc2e-44ae-916d-2007a20a0c06 作业 ID:f864fc6d-c68d-4a16-8d6f-2e2fa7cb6366 代理 ID:130d9572-9810-4b6a-adb7-7adef51ce33a
azure-devops - 如何更新我的 Azure DevOps 本地管道任务以包含 MSBuild v17 和 Visual Studio 2022?
如何更新我的本地 Azure Devops Pipeline 任务以包含新的 MSBuild v17 和 Visual Studio 2022 构建任务?
我在这里找到了更新的 MSBuild 任务:
https ://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/MSBuildV1
我发现这里安装了旧的 MSBuild v16 任务:
C:\Program Files\Azure DevOps Server 2020\Tools\Deploy\TfsServicingFiles\Tasks\Individual\MSBuildV1\
更新这个的正确方法是什么?
azure-devops - 如何在单个 YAML 构建中按顺序同步不同的作业?
我们使用 Azure DevOps Server 2020(本地)。
基本原理
我们的 PR 构建需要很长时间才能构建。使用 msbuild/m:4
标志从干净构建大约需要 45 分钟。管道配置为清理输出并在构建之前运行 git clean 以用于我的测试。
(实际的 PR 构建只清理输出,但不清理存储库)
我试图找出 msbuildmaxCpuCount
参数和我们可以在同一构建服务器上运行的并发 PR 构建数量(即构建代理的数量)的最佳组合。
我有一个没有人使用的专用构建服务器,并在其上配置了 6 个代理。这是我的主题测试。接下来我有一个驱动程序构建在另一个构建服务器上运行,它使用 REST API 在 SUT 上对构建进行排队。
我知道用任意maxCpuCount
值排队 PR 构建。问题是 - 如何对并发构建进行排队?从表面上看 - 只需执行相同的 REST API,SUT 池中的下一个可用代理就会选择并运行它。但是,驱动程序构建也会输出一些进度信息。它实际上不会将一个构建排队,而是 N 一个接一个地构建,同时等待前一个构建完成(使用 REST API)。它会在构建失败后清理并重新启动它们,等等......驱动程序构建输出用于对相同的驱动程序构建进行故障排除(这是代码,因此会受到错误的影响)。
所以我放弃了运行多个 Powershell 作业或 PS 运行空间或线程的选项,因为理解它们的组合输出将是非常有问题的。
相反,我选择在驱动程序构建本身中定义多个作业。因此,如果同时运行 5 个驱动程序构建作业,这意味着我正在 SUT 上同时运行 5 个 PR 构建。
最后,为什么首先要构建驱动程序?为什么不长时间运行控制台脚本?几个原因:
- 我的台式机经常在晚上重启
- 服务器机器有 15 分钟无活动注销。我不想安装鼠标跳动工具 - 不确定我是否被允许。
- 将驱动程序代码安排为 Windows 服务或计划任务不能提供与 Azure DevOps 相同的便利级别来监控其进度。
问题
我的测试有两个维度:
- Max Degree of Parallelism 或 MaxDOP - 映射到 msbuild
maxCpuCount
参数 - Agent Count - 参与测试的 SUT 构建代理的数量
由于我设计它的方式(如上所述),代理计数定义了驱动程序构建中同时运行的作业的数量。
我想实现以下测试矩阵:
例如,如果MaxDOP = 3 and AgentCount = 5
,那么我将在 SUT 上将 5 个 PR 构建与/m:3
. 总共有 6 个代理意味着这 5 个 PR 构建将同时运行。
我想为4 >= MaxDOP >= 1
和的所有组合做到这一点3 <= AgentCount <= 6
所以我想出了以下驱动程序构建:
挑战在于同步作业。这是因为我不希望具有不同MaxDOP
值的作业同时运行。例如,接受这份工作MaxDOP_3x4_Agents
:
- 最大DOP = 3
- 代理计数 = 4
- 必须在 MaxDOP_4x4_Agents 之后运行
而且当然:
- 第一个作业
MaxDOP_4x3_Agents
必须在Prepare
作业之后运行 - 该
Cleanup
作业必须在最后一个作业之后运行MaxDOP_1x6_Agents
如果不对所有 16 个测试矩阵单元进行明确编码,我就无法找到表达这种语义的方法。忽略dependsOn
要求,2个嵌套for
循环很容易完成这项工作:
唉,我不知道如何在dependsOn
这里指定。
驱动程序构建的一些快照(忽略持续时间,它目前是空运行,没有调用 SUT 上的实际 PR 构建):
使用一个小的测试矩阵:
azure-pipelines - 如何在 Azure DevOps Server 2020 中为 C#10 / .NET 6.0 项目创建构建任务
我已经有一个现有项目的构建管道。我试图将项目更改为<LangVersion>10</LangVersion>
. 现在构建管道失败了,因为它说 10 是不允许的。
我已经安装了Build Tools 2022,但它仍然没有工作。当我打开管道以更改要在构建任务中使用的MSBuild或Visual Studio版本时,我只能选择2019或最新的版本(我在这里选择了最新的)。
Build Tools 2019仍然安装(我不想冒险,其他管道由于更新而失败)。那么也许构建代理只是使用了错误的 MSBuild 版本?也许我必须更新构建代理本身?(它不会自动工作,因为我们公司的防火墙,我必须将较新的版本复制到服务器进行部署。)
谁能告诉我,正式的方法是什么,让它发挥作用。我的谷歌搜索没有给我可用的结果。