TeamCity新建项目构建失败:'git fetch'命令执行出错求助
解决TeamCity构建补丁生成失败(git fetch出错/exec spawn helper退出值1)
针对你遇到的TeamCity创建新项目时构建补丁生成失败、git fetch执行出错并触发ProcessNotCreatedException(提示'exec spawn helper'退出值为1)的问题,按以下步骤排查解决:
验证Agent运行用户权限
- 先确认TeamCity Agent的运行用户:执行
ps aux | grep teamcity-agent查看进程所属用户 - 确保该用户对TeamCity数据目录(如
/root/.BuildServer)拥有完整读写执行权限:chown -R <agent-user>:<agent-user> /root/.BuildServer - 检查
/usr/bin/git的执行权限:执行ls -l /usr/bin/git,确保输出中包含x权限位,若没有则添加:chmod +x /usr/bin/git
- 先确认TeamCity Agent的运行用户:执行
排查Git环境配置
- 登录TeamCity服务器,进入Agent详情页的配置界面,检查
PATH环境变量是否包含/usr/bin目录 - 切换到Agent运行用户,手动执行
git fetch命令,模拟TeamCity的执行环境,确认是否能正常运行 - 检查Git全局配置是否完整,执行以下命令确保用户信息已设置:
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
- 登录TeamCity服务器,进入Agent详情页的配置界面,检查
修复Ubuntu 24.04的exec spawn helper问题
Ubuntu 24.04搭载的glibc 2.39可能存在spawn helper权限异常:- 检查
/usr/libexec/gawk的权限:ls -l /usr/libexec/gawk - 若权限不是
root:root且755,执行以下命令修正:chmod 755 /usr/libexec/gawk - 排查AppArmor限制:暂时关闭AppArmor测试
重启TeamCity Agent后若问题解决,再调整AppArmor规则允许Agent相关进程执行Git操作systemctl stop apparmor
- 检查
手动指定Git路径
在TeamCity Agent的配置界面(构建工具 -> Git),将"Path to Git executable"手动设置为/usr/bin/git,避免系统自动检测出错清理Agent缓存并重启
- 删除Agent本地缓存目录(默认路径为
<agent-install-dir>/system/caches)下的所有文件 - 重启TeamCity Agent服务:
systemctl restart teamcity-agent
- 删除Agent本地缓存目录(默认路径为
内容的提问来源于stack exchange,提问作者Redplane
相关产品推荐
相关产品推荐

