我正在使用Jenkins CLI安装文件中列出的Jenkins插件列表。但是,有些安装在第一次尝试时会失败。一旦重试,安装就会成功。如何确保再次尝试调用CLI的命令?
while read line; do xargs java -jar jenkins-cli.jar -s https://127.0.0.1:8443/ -noCertificationCheck install-plugin $linedone < plugins.txt
while read line; do
xargs java -jar jenkins-cli.jar -s https://127.0.0.1:8443/ -noCertificationCheck install-plugin $line
done < plugins.txt
字符串
8oomwypt1#
对于重试,你可以使用until循环,像这样:
until
while read line; do until java -jar jenkins-cli.jar -s https://127.0.0.1:8443/ -noCertificationCheck install-plugin $line do echo "retry installing $line" sleep 1 donedone < plugins.txt
until java -jar jenkins-cli.jar -s https://127.0.0.1:8443/ -noCertificationCheck install-plugin $line
do
echo "retry installing $line"
sleep 1
done
pcrecxhr2#
答案很晚,但原因是你的命令xargs java -jar jenkins-cli.jar -s https://127.0.0.1:8443/ -noCertificica.可能从标准输入读取,然后导致过早退出循环。为了避免这种行为,你必须使用不同的文件描述符,例如:
while read line <&3; do xargs java -jar jenkins-cli.jar -s https://127.0.0.1:8443/ -noCertificationCheck install-plugin $linedone 3< plugins.txt
while read line <&3; do
done 3< plugins.txt
2条答案
按热度按时间8oomwypt1#
对于重试,你可以使用
until
循环,像这样:字符串
pcrecxhr2#
答案很晚,但原因是你的命令
xargs java -jar jenkins-cli.jar -s https://127.0.0.1:8443/ -noCertificica.
可能从标准输入读取,然后导致过早退出循环。
为了避免这种行为,你必须使用不同的文件描述符,例如:
字符串