用于检查网站是否启动的 Jenkins 管道脚本

Jenkins Pipeline script to check the website is up

在我的 Jenkins 管道代码中,我正在尝试测试网站是否可用。

withEnv([
    "ipaddrs=$FINAL_IP",
    "appuri=http://$FINAL_IP:8080"
]){
    timeout(time: 15, unit: 'MINUTES') {
        waitUntil {
            try {         
               sh "curl -s --head  --request GET $appuri/gameoflife | grep '200 OK'"
               return true
            } catch (Exception e) {
               return false
            }
        }
    }
}

但即使网站已启动,Jenkins 管道也无法理解,它会一直持续 运行ning 直到 15 分钟并超时

我已经从 Jenkins 节点手动 运行 curl,当网站出现时我能够得到响应。知道可能是什么问题吗?

如果您使用 URL 而不是 shell,也许它会起作用?

try {         
    new URL("$appuri/gameoflife").getText()
    return true
} catch (Exception e) {
    return false
}