我正在试图用jenkins做一个自定义的dockerfile。我会等到8080端口打开,而不是用netcat做一个丑陋的“睡眠60”,但对bash脚本和netcat不是很有信心。如何等待netcat打开的端口?
这里是我想要做的一个例子:
#!/bin/bash
opened=0
while [ "$opened" == "0" ]; do
echo "Waiting jenkins to launch on 8080..."
nc -vz localhost 8080
done
echo "Jenkins launched"
最后我用卷曲脚本来做到这一点:'一会儿! curl --output/dev/null --silent --head --fail http:// localhost:8080;睡觉1 && echo -n。; done;' – FXG
作为一个建议,你也可以在netcat命令中减少连接超时,以便在Jenkins成功时获得更快的响应。它是'nc -G 1 -z localhost 8000'。 –
nc:无效选项 - 'z' – odiszapc