我正在試圖用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