如何暂停和恢复Jenkins Build

时间:2016-02-26 20:05:29

标签: powershell jenkins jenkins-plugins

我在Jenkins有一个电源shell作业,可以将代码复制到多个服务器上。有时,脚本可能无法访问服务器并且会破坏构建。当我从列表中删除服务器并恢复构建时,它从步骤1(服务器1)开始。在Jenkins中是否有任何方法可以在特定步骤暂停构建,并让用户从停止的位置恢复它。

请告诉我。

1 个答案:

答案 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
    }
}

然而,这不允许在任意时刻暂停构建(技术上可能)。