如何在Azure云配置使用持续运行的Self-hosted agent?
Azure DevOps 云端自托管代理(Self-hosted Agent)持续运行配置流程
1. 前置准备
- 准备一台云服务器(可选用任意云厂商的虚拟机,只要网络能连通你的Azure DevOps组织、可访问项目依赖源),基础配置推荐2核4G及以上,系统可选择Windows或Linux,下文以Linux系统为例
- 提前在云服务器中安装React构建所需的基础环境:
Node.js、npm/yarn、git等必备工具 - 确认云服务器出站规则放开Azure DevOps服务的访问权限,自托管代理为主动向Azure DevOps发起连接,无需额外开放入站端口
2. 获取代理配置凭证
- 登录你的Azure DevOps组织,进入
组织设置->代理池,可新建专用的自托管代理池,或选择已有代理池 - 进入目标代理池的
代理标签页,点击新增代理,选择对应服务器的操作系统与架构,复制页面生成的配置令牌(也可自行生成权限包含代理池管理的个人访问令牌PAT),令牌有效期可根据需求设置
3. 服务器端代理安装配置
- 登录云服务器,创建专属的代理运行目录并进入:
mkdir azure-agent && cd azure-agent - 复制Azure DevOps新增代理页面上的下载与解压命令,在当前目录执行,完成代理安装包的下载和解压
- 执行配置脚本:
./config.sh - 按交互提示依次输入:Azure DevOps组织地址、之前复制的配置令牌、目标代理池名称、代理名称,其余配置项可直接回车选择默认值
- 配置完成后执行
./run.sh测试代理连通性,返回Azure DevOps代理池页面,看到对应代理状态为在线即为基础配置成功
4. 配置代理为后台常驻服务
测试无问题后,将代理配置为系统服务,保证服务器重启后可自动运行:
- 停止当前运行的
run.sh进程 - 执行服务安装命令:
sudo ./svc.sh install - 启动代理服务:
sudo ./svc.sh start - 执行
./svc.sh status确认服务状态为running即可 - 若服务器需通过内部代理访问外网,可在代理目录的
.env文件中添加代理配置,示例:
配置完成后重启代理服务生效HTTP_PROXY=http://内部代理地址:端口 HTTPS_PROXY=http://内部代理地址:端口
5. 流水线适配修改
- 打开你的React项目流水线的YAML配置文件,将原微软托管代理的
vmImage配置替换为自托管代理池配置:pool: name: 你创建的自托管代理池名称 - 保存配置后触发一次流水线运行,确认依赖拉取、构建打包等流程均正常执行,无防火墙相关报错即可
内容的提问来源于stack exchange,提问作者user14557207
相关产品推荐
相关产品推荐

