问题标签 [azure-devops-hosted-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 回答
75 浏览

macos - 将部署结果从 Azure Mac 托管代理复制到私有 Windows 代理

在 Azure DevOps 中,我有一个发布定义,它执行命令productbuild --component $(System.DefaultWorkingDirectory)/$(RELEASE.PRIMARYARTIFACTSOURCEALIAS)/My/Folder.app/ /Applications My.pkg以从构建的工件开始创建一个新的 pkg 文件。此命令在 Mac 托管代理上执行。

在此处输入图像描述

现在我需要将 pkg 放在我拥有 Azure DevOps 专用代理的 Windows 机器的特定路径上。我的问题是从 Mac 托管机器到具有私人代理的私人机器的复制操作。有没有办法完成这个任务?

谢谢

0 投票
1 回答
247 浏览

selenium - 在 Azure 托管代理中运行 selenium 测试时,是否可以保存和检索文件?

我有一套在 Windows 2019 Azure 托管代理中运行的 Selenium 测试。每个测试都会捕获特定网页的图像。

对于未来的测试运行,这些图像将用作比较网页的当前/实际状态时的基准。

当测试在托管代理中运行时,有没有办法在某处保存和检索这些基线图像?

笔记:

  • 目前我正在使用一种解决方法,以便我可以保存和上传从托管代理生成的基线图像。强制测试失败并将图像附加到测试结果中,TestContext.AddResultFile.然后下载每个图像并将其保存到本地 repo,然后在 azure repo 中同步。我不想再这样做了,因为已经生成了数百张图像。

  • 我无法使用从本地计算机生成的基线图像,因为托管代理具有不同的视口。因此,图像比较总是会发现基线和实际之间的差异。

0 投票
2 回答
87 浏览

azure - Azure DevOps - 托管生成代理不可用

我正在开发一个利用 Azure DevOps 构建我们的 .net 核心应用程序套件的项目。

过去几天,我们注意到构建排队等待数小时,我们已经在 Azure 托管构建代理上支付了额外的构建时间,但构建的等待时间如此之长。

这似乎是随机的,因为有时构建会立即发生,我们没有任何 Azure 支持计划,所以我想如果有人遇到类似问题,我会问这个问题。

0 投票
1 回答
234 浏览

windows - Azure DevOps Windows 与 Ubuntu 托管的跨平台应用程序代理?

是否有具体的理由为跨平台应用程序选择一种代理操作系统而不是另一种?我看到经常根据开发人员的操作系统偏好做出选择。我今天早上创建了一个 .net 核心控制台应用程序,并创建了一个管道来针对 Windows 和 ubuntu 托管代理构建它。

我运行了几次管道。Windows 构建时间与 ubuntu 相比要大得多。我能够在 AzDO 中使用开箱即用的分析来获得一些见解:

在此处输入图像描述

我在内部分享了这个,另一位开发人员尝试将他们的管道切换到 Ubuntu。他们发现运行时间减少了大约 30%。

本实验后的问题:

由于操作系统架构,是否有一些类型的任务在 Ubuntu 上比在 Windows 上运行得更快,反之亦然?

是否可以对管道进行“评分”以估计运行它的最佳操作系统?

建议在 Windows 上的 Ubuntu 代理上构建跨平台应用程序是否合理?这似乎可以减少构建时间,从而减少开发人员的等待时间并减少托管并行作业的支出。

0 投票
1 回答
91 浏览

azure-devops - 如何使用 Linux microsoft 托管代理在 Windows 机器中存储 Azure 管道工件?

有人可以帮助我,我对 Azure 管道中的工件文件共享有要求。我正在使用 Linux 托管代理,我在“Drop Artifacts”-> 文件共享-> Windows 机器名称中给出如下 (\server name\c:\Drop)。这个过程失败了。请找到我向我的经理建议的以下步骤。

  1. Azure 管道--> 放置文件夹(用于存储成功的工件)--> 这不是他们选择的。
  2. 用户 Windows Microsoft 托管代理 --> c:\Drop 文件夹(我的团队尚未准备好提供任何 VM)。
  3. 使用 Nexus/Jrog(不建议这样做。

我按照他们所说的一些链接通过 FTP 存储工件。请建议我,如果有人知道如何使用 Linux 托管机器将工件存储在 windows dev/QA 机器中(或)如果你们有任何其他想法,请指导继续。

您的建议将帮助我们推进这项任务。

  • 谢谢
0 投票
1 回答
62 浏览

azure - Microsoft 托管代理不可用

我无法在 azure devops 中看到用于私人项目的微软托管代理。4 天前,我向 azpipelines-freetier@microsoft.com 发送了一封电子邮件以授予免费等级,但仍然没有收到他们的回复。您能否告知如何请求微软托管代理免费套餐。

另外,我在 4 天前为我的项目请求更改区域,但请求尚未完成。任何人都可以建议它。谢谢!

0 投票
1 回答
196 浏览

azure-devops - How can I tell a Microsoft-hosted agent in Azure Devops to preserve the workspace between jobs?

I want to break down a large job, running on a Microsoft-hosted agent, into smaller jobs running sequentially, on the same agent. The large job is organized like this:

I want to break it down into two smaller jobs, like this:

... so that downloading all of my binary resources will happen in job_one, and the build and test will happen in job_two.

Jobs include an optional parameter, workspace:clean, which is used with self-hosted agents to specify whether the binary resources, build results, or everything should be erased from the agent. If the workspace:clean parameter is omitted, nothing is erased -- everything is preserved. That's what I want.

However, according to the Workspace topic in the Azure Devops documentation:

The workspace clean options are applicable only for self-hosted agents. When using Microsoft-hosted agents, jobs are always run on a new agent.

This means that all of my binary resources are erased before job_two can run the build task. I want to do the equivalent of this:

I want to avoid using a self-hosted agent. How can I do this using a Microsoft-hosted agent?

0 投票
0 回答
360 浏览

specflow - 在 DevOps Pipeline 上的 VSTest 任务中跳过所有 Specflow 场景

我已经配置了一个 DevOps 管道来执行我的 SpecFlow Selenium 测试。一切似乎都运行良好,除了在 DevOps 代理上跳过了我的所有测试场景。

当我使用 VS2019 测试资源管理器在本地运行测试时,它们运行没有问题。

我尝试启用系统诊断以查看它们被跳过的原因,但看不到任何可能的原因。

这是 VSTest 任务的 YAML:

...以及任务执行的输出:

看起来测试线程正在中止,但我不知道为什么。

.runsettings 比较简单:

规格流配置文件是:

任何想法为什么要跳过测试或我可以尝试找出什么?

编辑:

我注意到在之前的(工作)运行中,VSTest 在线程#-0 中运行场景。崩溃后,它开始记录“skipped in thread #-1”消息。

0 投票
2 回答
155 浏览

android - Azure Pipeline 中的 Flutter Android 构建错误:在 ABI 的 NDK 工具链文件夹中找不到工具链,前缀为:arm-linux-androideabi

我收到错误消息No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi。我找到的解决方案是在 Android Studio 中升级或降级 NDK。但是,我正在使用 Azure Pipeline,但不知道该怎么做。

有两次运行,其中一次成功,另一次失败。他们两个都有相同的提交,并且只相差一天。它们之间的唯一区别是Initialize Job任务中的代理和图像版本。

成功:

失败的:

我认为解决方案是配置gradle(我不确定要修复哪个)或在MS托管代理中重新配置NDK(我不确定如何)。

有什么建议吗?我不确定这是否是颤振(1.22.6)特定或一般的android问题。但是,我可以在我的机器上很好地构建它。

0 投票
0 回答
29 浏览

selenium - 在托管代理上使用 WebDriverManager.Net NuGet 包时出错

我想知道是否有人可以帮助解决我们在 Azure DevOps 中的 Microsoft 托管代理上运行 Selenium 测试所面临的问题。我们最近尝试实施 WebDriverManager.Net 来处理我们本地版本的 Chrome 与 Azure 托管代理上的版本不匹配的事实。当托管代理更新其 Chrome 版本时,它也会有所帮助。虽然这在本地运行良好,但我们在管道运行中遇到以下问题。我们只是调用此代码来创建 chromedriver 的实例:

这是我们面临的错误:

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