如何调试 Jenkins 管道节点挂在分配节点上
How to Debug Jenkins Pipeline node hangs on allocating node
关于调试管道挂起有什么建议吗?
当带有管道插件 2.2 的 Jenkins 2.7.2 无法执行任何尝试分配节点的管道作业时。
测试
- 20+ 个免费节点
- master 上有 3 个空闲执行器
- 开始管道作业
- 得到分配节点并挂起
- 启动 DoNothing 自由式作业,在节点上 运行 什么都不做
- 即使有 20 多个节点报告空闲,DoNothing 自由泳仍在队列中等待
- 终止管道作业
- DoNothing 自由式作业找到一个节点,执行,完成
线索 - 唉,不多
jenkins master log 和我的 preprod 中没有任何东西,使用相同的插件,一切正常。
我怀疑我有什么阻碍,但我不确定是什么,我真的不想重新开始(但我想我需要)
日志
[Pipeline] node
Still waiting to schedule task
Waiting for next available executor
管道脚本
echo 'Starting'
sleep time: 1, unit: 'NANOSECONDS'
echo 'Slept 1 NS'
node {
echo "On a node"
}
重启 jenkins 解决了问题。我怀疑,当我们试图通过终止线程来清除挂起的构建时,我们选择了错误的线程导致了问题,或者这只是侥幸。
关于调试管道挂起有什么建议吗?
当带有管道插件 2.2 的 Jenkins 2.7.2 无法执行任何尝试分配节点的管道作业时。
测试
- 20+ 个免费节点
- master 上有 3 个空闲执行器
- 开始管道作业
- 得到分配节点并挂起
- 启动 DoNothing 自由式作业,在节点上 运行 什么都不做
- 即使有 20 多个节点报告空闲,DoNothing 自由泳仍在队列中等待
- 终止管道作业
- DoNothing 自由式作业找到一个节点,执行,完成
线索 - 唉,不多
jenkins master log 和我的 preprod 中没有任何东西,使用相同的插件,一切正常。
我怀疑我有什么阻碍,但我不确定是什么,我真的不想重新开始(但我想我需要)
日志
[Pipeline] node
Still waiting to schedule task
Waiting for next available executor
管道脚本
echo 'Starting'
sleep time: 1, unit: 'NANOSECONDS'
echo 'Slept 1 NS'
node {
echo "On a node"
}
重启 jenkins 解决了问题。我怀疑,当我们试图通过终止线程来清除挂起的构建时,我们选择了错误的线程导致了问题,或者这只是侥幸。