azure devops 具有自定义映像的自托管容器代理

时间:2021-06-06 22:21:11

标签: azure azure-devops

我们有结合 .net 4.0 和 C++ (CLI C++) 的源代码。为了构建此代码,我们同时使用了 Visual Studio 2015 和 Visual Studio 2010。为了构建我们使用 VS 2010 的 C++ 源代码。现在当我们迁移到 azure devops 时,我们需要创建构建管道。实现此目的的一种方法是创建一个自托管的 Windows 代理并在其上安装 vs 2015 和 vs 2010。

有没有办法让这个容器化?我们可以创建一个已经安装了 vs 2015 和 vs2010 的自定义容器镜像吗?

2 个答案:

答案 0 :(得分:0)

您可以在虚拟机内使用 docker 进行容器化,您可以在 Azure Pipelines 中设置自托管代理以在 Windows Server Core(适用于 Windows 主机)或带有 Docker 的 Ubuntu 容器(适用于 Linux 主机)中运行。当您想要运行具有外部编排的代理(例如 Azure 容器实例)时,这很有用。 支持 Windows 和 Linux 作为容器主机。 Windows 容器应该在 Windows vmImage 上运行。要在 Docker 中运行您的代理,您需要将一些环境变量传递给 docker run,它将代理配置为连接到 Azure Pipelines 或 Azure DevOps 服务器。最后,您可以自定义容器以满足您的需求。任务和脚本可能取决于容器 PATH 上可用的特定工具,您有责任确保这些工具可用。

这是参考文档 https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/docker?view=azure-devops

答案 1 :(得分:0)

据我所知,我们在 VM 内运行的容器数量完全取决于我们选择的 VM 大小(硬件配置)。我们确实在 azure 中提供了不同的 VM 大小。

如果您想运行更多容器,我建议使用 AKS,Azure Kubernetes 服务 (AKS) 通过将操作开销卸载到 Azure 来简化在 Azure 中部署托管 Kubernetes 集群的过程。作为托管的 Kubernetes 服务,Azure 处理关键任务,例如健康监控和维护。由于 Kubernetes 主节点由 Azure 管理,因此您只需管理和维护代理节点。因此,AKS 是免费的;您只需为集群内的代理节点付费,无需为主节点付费。

相关问题