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

问题描述

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

stages:
- stage: windows
  jobs:
  - template: build.yml
    parameters:
      pool: windows-latest 
- stage: ubuntu
  jobs:
  - template: build.yml
    parameters:
      pool: ubuntu-latest

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

read more here

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

本实验后的问题:

是否存在由于操作系统架构而在 Ubuntu 和 Windows 上运行速度更快(反之亦然)的任务类型?

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

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

解决方法

建议通过 Windows 在 Ubuntu 代理上构建跨平台应用程序是否合理?

感谢您的分享。我测试了一些跨平台脚本,发现它们在 Ubuntu 代理上的运行速度通常比在 Windows 代理上少。

所以,公平地说,如果您不关心代理操作系统,使用 Ubuntu 通常比使用 Windows 更省时。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...