Shell Jenkins管道因随机连接问题而失败
我正在研究Jenkins管道,它在同一台主机上并行运行两个阶段 在这两个阶段,分别称为ansible剧本。 这两个剧本在相同的远程主机上并行运行不同的脚本(定义见下面的Jenkins管道) 大多数时候,这运行得很好,我得到了一个成功的输出 但有时运行脚本的远程主机在运行任务时无法访问。 当这种情况发生时,它会随机发生在ansible剧本中的任何任务上 到目前为止,我还没有观察到它失败的任务模式。 虽然这种情况很少见,但并不可取Shell Jenkins管道因随机连接问题而失败,shell,ansible,jenkins-pipeline,jenkins-groovy,Shell,Ansible,Jenkins Pipeline,Jenkins Groovy,我正在研究Jenkins管道,它在同一台主机上并行运行两个阶段 在这两个阶段,分别称为ansible剧本。 这两个剧本在相同的远程主机上并行运行不同的脚本(定义见下面的Jenkins管道) 大多数时候,这运行得很好,我得到了一个成功的输出 但有时运行脚本的远程主机在运行任务时无法访问。 当这种情况发生时,它会随机发生在ansible剧本中的任何任务上 到目前为止,我还没有观察到它失败的任务模式。 虽然这种情况很少见,但并不可取 这可能是因为两个剧本试图在同一台主机上并行运行吗?我不认为詹金斯或安
这可能是因为两个剧本试图在同一台主机上并行运行吗?我不认为詹金斯或安西伯是原因。这看起来像是一个网络问题。虽然这与您当前的问题无关,但您在jenkins上启动ansible时使用shell而不是使用?没有理由不使用插件。使用shell调用它是我知道的唯一方法。关于这个问题,这似乎是一个间歇性的网络问题吗?如前所述,这是一个罕见的事件,我还没有能够复制它。
stage('Parallel execution on hosts') {
parallel {
stage('stage one') {
steps {
script {
println(list)
list.each { ip ->
new_map[ip] = {
sh "ansible-playbook playbook_one.yml -f 5 -i $ip, --extra-vars 'ansible_connection=ssh ansible_ssh_user=user ansible_ssh_private_key_file=key.pem' -vvv"
}
}
retry(count:3) {
parallel new_map
}
}
}
}
stage('stage two') {
steps {
script {
println(list)
list.each { ip ->
new_map_2[ip] = {
sh "ansible-playbook playbook_two.yml -f 5 -i $ip, --extra-vars 'ansible_connection=ssh ansible_ssh_user=user ansible_ssh_private_key_file=key.pem' -vvv"
}
}
retry(count:3) {
parallel new_map_2
}
}
}
}