Windows 10中Jenkins agent配置为服务后启动立即停止问题求助
问题根因
你遇到的问题属于Windows服务运行上下文和当前登录用户上下文不一致导致的,命令行执行正常说明参数本身没有问题,差异点在于:
- 服务默认使用Local System账户运行,该账户的环境变量、证书信任列表、目录权限均和你当前登录的用户不同
- 最常见的触发原因是Local System账户的PATH环境变量没有包含Java执行文件路径,启动时找不到java.exe直接闪退
- 其次可能是Local System没有Jenkins agent目录的读写权限、不信任Jenkins服务端的HTTPS自签名证书、无网络访问权限
修复方案
快速验证修复(推荐)
直接修改服务的运行账户为你当前可以正常执行命令的用户:
- 按下
Win+R输入services.msc打开服务管理器 - 找到名称为
JenkinsAgent的服务,右键选择「属性」->「登录」标签页 - 选择「此账户」,输入你当前登录的Windows用户名和对应密码,点击「确定」保存
- 重启服务即可正常运行
如需保留Local System运行账户
按如下步骤逐一配置:
- 修正Java执行路径:打开jenkins-slave对应的XML配置文件,将启动命令里的
java.exe替换为Java的绝对路径,示例:
原配置:<executable>java.exe</executable>
修改为:<executable>"C:\Program Files\Java\jdk1.8.0_301\bin\java.exe"</executable>
注意替换为你本地实际的Java安装路径 - 开放目录权限:右键
C:\jenkins-agent目录->「属性」->「安全」->「编辑」->「添加」,输入SYSTEM后点击检查名称,确认后给SYSTEM账户勾选「完全控制」权限,保存生效 - 导入HTTPS证书(如果Jenkins用自签名证书):
- 按下
Win+R输入mmc打开控制台,点击「文件」->「添加/删除管理单元」 - 选择「证书」->「添加」-> 选择「计算机账户」->「下一步」->「本地计算机」->「完成」->「确定」
- 展开路径「证书(本地计算机)」->「受信任的根证书颁发机构」->「证书」,右键选择「所有任务」->「导入」,上传Jenkins服务端的自签名证书完成导入
- 按下
- 重新加载配置:执行
jenkins-slave.exe uninstall卸载原有服务,再执行jenkins-slave.exe install重新安装服务,启动即可
内容的提问来源于stack exchange,提问作者jkb
相关产品推荐
相关产品推荐

