我在Jenkins有一个电源shell作业,可以将代码复制到多个服务器上。有时,脚本可能无法访问服务器并且会破坏构建。当我从列表中删除服务器并恢复构建时,它从步骤1(服务器1)开始。在Jenkins中是否有任何方法可以在特定步骤暂停构建,并让用户从停止的位置恢复它。
请告诉我。
答案 0 :(得分:0)
您可以使用Jenkins Pipeline实现所需的行为。下面是代码草案,应该解释我的想法。
def remoteServers = [ipaddr1, ipaddr2,...] // define all remote hosts servers in the groovy code
for (int i=0; i<remoteServers.size(); i++) { // c-style loop is to avoid JENKINS-26481
def ip = remoteServers[i]
try {
bat "your script here" // ip should be passed as a parameter
// or interpolated right within the inlined script
catch {
input "Retry for ${ip}?" // This will pause the build waiting for user action
i-- // repeat the iteration
}
}
然而,这不允许在任意时刻暂停构建(技术上可能)。