Azure DevOps自托管Linux代理配置后自动离线问题求助
解决Azure DevOps自托管代理离线问题
问题根源
你通过./runsvc.sh &在会话后台启动代理,当Bastion会话关闭时,终端进程组会被系统回收,导致代理进程终止。同时sudo ./svc.sh install &的后台安装方式可能未正确完成系统服务配置,代理未以独立系统服务的形式运行。
正确配置步骤
1. 终止现有代理进程
先清理所有相关进程,避免冲突:
# 停止已安装的代理服务 sudo ./svc.sh stop # 强制杀死所有代理相关进程 pkill -f Agent.Listener
2. 重新安装系统服务
不要用&后台执行,直接完成服务安装:
sudo ./svc.sh install
执行时确保当前用户拥有sudo权限,Ubuntu 20.04会自动配置systemd管理该服务。
3. 启动服务并设置开机自启
安装完成后,启动服务并配置开机自动运行:
# 启动代理服务 sudo ./svc.sh start # 设置开机自启(替换占位符为你的实际信息) sudo systemctl enable vstsagent.<你的组织名>.<代理池名>.<代理名>
示例:若组织名为
myDevOrg、代理池为PrivatePool、代理名为myBuildAgent_1,则服务名为vstsagent.myDevOrg.PrivatePool.myBuildAgent_1。
4. 验证服务状态
确认服务正常运行:
# 查看代理服务状态 sudo ./svc.sh status # 或用systemd命令查看详细状态 sudo systemctl status vstsagent.<你的组织名>.<代理池名>.<代理名>
若状态显示active (running),说明服务已独立运行,关闭Bastion会话后代理不会离线。
5. 常见问题排查
- 服务启动失败时,查看代理目录下
_diag文件夹中的日志文件,通过cat _diag/*.log获取错误信息。 - 检查PAT令牌是否有效、权限是否足够(需包含代理池管理、队列构建等权限)。
- 验证虚拟机网络连接,确保能正常访问
https://dev.azure.com。
内容的提问来源于stack exchange,提问作者surya Teja
相关产品推荐
相关产品推荐

