【问题标题】:azure devops self hosted container agent with custom image带有自定义映像的 azure devops 自托管容器代理
【发布时间】:2021-06-06 22:21:11
【问题描述】:

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

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

【问题讨论】:

    标签: azure azure-devops


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,我可以在这样的虚拟机上同时运行多少个容器?
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-11-14
      • 2021-11-14
      • 1970-01-01
      • 2020-12-21
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多