在 AKS 中运行 Azure DevOps 自托管代理-2
在快速发展的软件开发领域,各种场景下,我们都需要满足特定的需求。例如,同时运行多个管道、允许 Microsoft (MS) 代理 IP 地址访问管道内的 Azure 资源,或者处理企业对使用 Azure 提供的代理构建或运行管道的限制。为了应对这些情况,我们可以使用自定义代理来执行管道。使用自托管代理具有多种优势,包括节省成本、能够配置并行管道执行、提供静态 IP 以消除将代理 IP 列入白名单的需要,以及授予对代理本身的更大控制权。
在本文中,我们将探索实现此目标的最有效方法:在 AKS(Azure Kubernetes 服务)集群上托管自托管代理。
步骤
假设您已满足以下先决条件(本文未涵盖),我们可以继续:
- 设置 Azure DevOps 组织(具有管理员访问权限)
- 配置 Azure 容器注册表 (ACR)
- AKS 集群
- Docker 已安装
- kubectl 已安装
- 个人访问令牌 (PAT) 已获取
创建代理池
在 Azure DevOps 中创建代理池。请务必记下以下值,因为稍后需要将它们作为环境变量:
- AZURL - “https://dev.azure.com/<organization>”
- AZPOOL- “Agent pool name (default value:
Default
).” - POOLID: “Id of agent pool”
- AZP_TOKEN: “Personal Access Token (PAT)”
Docker 镜像构建并推送至 ACR
您可以根据具体需求创建 Docker 文件。在本例中,我们使用 Microsoft 提供的基础 Docker 文件作为模板。
FROM ubuntu:1