Jenkins pipeline突然无法执行sh了(已解决,第二天更新)

本来都是正常使用的,今天重启了下slave,结果就异常了,一直都有怀疑jenkins的很多更改都是有延迟生效。
第一个问题:重启slave后就没有办法正常下载代码了,日志如下,根据提示,在网上搜索,试来试去,有一个帖子说是插件的bug,git-client的,因为不久前升级了挺多插件,所以就怀疑可能真是这个问题,于是回退了这个插件,再试,报错依旧,又回退了git插件,还是没效果。重启了下jenkins服务,终于可以正常下载代码了。但是一个特别的现象是,问题还存在的时候,只有一个slave出现这个问题,另一台机器正常。


第二个问题:上面这个刚解决,但是发现还有别的异常——执行sh无法正常进行,到sh那一步,就一直转圈,等很长时间后,就提示如下并失败退出了。到目前还没有找到解决方法……
image

image

======================================================================================================================================================
问题已解决,现将问题解决更新如下:
总得来说还是升级插件+自己给自己挖坑导致
还是帖首的那个话——很多配置的更改会延迟生效,这批插件升级都已经是好几周前的事了,当时升级了jenkins版本和一些插件版本,并重启了jenkins服务。当时并没有任何异常。
结果不知怎么回事昨天才体现出来影响。
症状依次是1.原在win-slave上正常执行的cnpm命令无法识别了;2.有一台linux-slave无法正常拉取gitlab仓库代码(其他机器包括win-slave却正常)。
在对1的查找原因和解决问题的过程中,因为根据报错信息来看找不到任何有用的信息,只能在网上搜方案尝试了。其中一个说法就是说在win-slave上找到cnpm的位置,然后在jenkins系统配置里添加进path的值里,结果并没有任何效果,然而我也忘记了去删除这个改动。后来因为问题1对生产的影响较小(只有一个job是是采用win系统的),所以就先搁置,优先去解决问题2了。
问题2也是摸索尝试通过回退了git和git client插件版本才得以修复,但是这是就因为上面的操作导致仍然无法正常进行构建,就是本贴子的正文所描述的问题。百思不得其解,最后偶然想到上面这个配置,去删除了之后终于恢复了。
那问题1这时候尚未解决,但是根据上面的经验,应该还是插件导致的,涉及到这块的插件,应该就是有slave插件了,于是又去回退了slave插件,重启了win-slave上的jenkins服务,问题1顺利解决。

======================================================================================================================================================
目前仍然有疑问处:
1.还是本帖首的问题,之前也有这个感觉,本次更能体现:jenkins的某些配置是有延迟效果的,很多突然出来的问题说不定是一段时间之前做的配置更改导致,这个其实对于解决问题是个很大的阻碍,不知道别人有没有遇到这种问题。ps:本次异常出现的前夕并没有做任何相关能使配置生效的通用操作如重启jenkins服务器等;
2.git插件和git client插件更新后会导致部分版本的git工具无法正常使用,如我本次遇到的问题,将这两个插件升级到了最新的版本,导致了一个linux-slave上的2.22.0git无法正常通过jenkins拉取代码,但是手动在机器上就能正常拉取。而另外的一个linux-slave上的1.8.3.1就正常使用,甚至包括常常不太友好的win-slave都能正常(2.21.0.windows.1),所以还没有去做严格的适配实验,另外一点想法就是会不会jenkins调用slave的版本并不是我在机器上安装的git版本?

你重启slave后,连接是否正常? Nodes 的配置是否也变更? Credentials 是否发生了改变? 这些问题都要排查一下,不要怀疑是工具的问题,99% 的错误,都是人为造成的错误。

才看到,已恢复。详细原因我会更新帖子。非常感谢你的热心~

分享越多,成长越快,希望多交流一起成长。