Team City:如何获取各代理节点的软件版本信息
解决TeamCity代理节点Git版本批量收集问题
核心结论
完全可以通过执行git --version来收集Git版本信息,而且有几种高效的批量获取方式,无需逐个登录代理服务器:
方法一:利用TeamCity的Agent Run Custom Script功能
- 登录TeamCity服务器后台,进入Agents页面,批量勾选所有需要检查的代理节点
- 点击顶部的Run custom script按钮
- 在弹出的输入框中根据代理操作系统输入对应命令:
Linux/macOS代理用:
Windows代理用:git --versiongit --version - 点击Run执行,完成后每个代理的输出结果会直接显示在页面的任务结果列表中,可快速查看各代理的Git版本
方法二:创建简易Build Configuration批量执行
- 在TeamCity中新建一个空的Build Configuration
- 添加Command Line(Linux/macOS)或PowerShell(Windows)构建步骤,输入
git --version命令 - 在Agent Requirements中设置筛选规则,指定只让目标代理运行该构建(比如通过代理名称标签、操作系统标签筛选)
- 触发构建后,可在构建的Build Log中查看所有代理的执行输出,也能在Agents页面的代理历史记录中单独查看结果
方法三:通过TeamCity REST API自动化收集
如果需要自动化流程,可调用TeamCity REST API触发代理执行脚本:
- 通过API
/app/rest/agents获取所有目标代理的ID - 对每个代理ID,发送POST请求到
/app/rest/agents/id:{agentId}/runCustomScript,请求体内容为:{ "scriptContent": "git --version" } - 执行完成后,可通过API获取结果,或直接在TeamCity后台查看执行记录
注意事项
- 确保所有代理节点的Git已配置到系统环境变量中,否则
git --version会执行失败 - 若代理为混合操作系统,可在脚本中加入判断逻辑自动适配命令
内容的提问来源于stack exchange,提问作者TheWebGuy
相关产品推荐
相关产品推荐

