0

我们是一个 .NET WPF 应用程序,需要 MSBuild 等工具和其他一些自定义工具来构建(总共需要在 Windows 操作系统上安装大约 10 个工具)。我们使用带有 VM 的 Azure Pipelines 作为构建代理。问题是,每当我们必须增加构建代理的数量时,我们必须在每个代理中手动安装工具,以使其准备好构建应用程序。

为了克服上述挑战,在容器内运行管道是否可行?例如,如果我们可以构建一个安装了所有工具的容器镜像,是否可以加载这个镜像,然后在这个容器内运行管道作业?

或者是否有可用于此手动安装的替代解决方案?谢谢。

PS:由于 IT 安全策略,无法克隆构建代理的 VM。

4

1 回答 1

1

是否可以使用容器在 Azure 管道中构建 .NET WPF 应用程序?

答案是肯定的,你可以在 yaml 管道中使用容器作业。

在 Linux 和 Windows 代理上,作业可以在主机或容器中运行。(在 macOS 和 Red Hat Enterprise Linux 6 上,容器作业不可用。)容器提供与主机的隔离,并允许您固定特定版本的工具和依赖项。主机作业需要较少的初始设置和基础设施来维护。

容器提供了对主机操作系统的轻量级抽象。您可以选择构建所需的操作系统、工具和依赖项的确切版本。当您在管道中指定容器时,代理将首先获取并启动容器。然后,作业的每一步都将在容器内运行。您不能有嵌套容器。当代理已经在容器中运行时,不支持容器。

于 2021-04-02T05:49:23.617 回答