GitLab CI触发Jenkins冒烟测试监控脚本报错排查求助
GitLab CI中Jenkins任务监控脚本语法错误问题
我正在GitLab CI中编写脚本,通过Jenkins触发冒烟测试并获取结果。目前已成功触发任务,但编写的while循环监控脚本在GitLab CI中出现语法错误:
/bin/sh: eval: line 149: syntax error: unexpected "done"
本地终端修改后脚本可正常运行,但放到GitLab CI流水线中仍报上述错误。
原脚本
#!/bin/bash running="true" while [ "$running" != "false" ] do echo "job is building? ${running}" echo "waiting...";; sleep 2; running=$(curl -s --user ${EMAIL}:${TOKEN} ${URL}/${var}/lastBuild/api/json | jq .'building') echo "job is still building? ${running}" done echo "Done!" buildNumber=$(curl -s --user $EMAIL:$TOKEN ${URL}/$ENV-${var}/lastBuild/api/json | jq ".url" | awk -F "/" '{print $(NF-1)}') echo "getting results for build ${buildNumber}" curl -s --user ${EMAIL}:${TOKEN} ${URL}/${ENV}-${var}/lastBuild/api/json | jq ".url" | awk -F "/" '{print $(NF-1)}' curl -v --silent --user ${EMAIL}:${TOKEN} ${URL}/${ENV}-${var}/lastBuild/consoleText 2>&1 | grep -i "finished:"
修改后本地正常运行的脚本
running="true" while [ "$running" != "false" ] do echo "job is building? ${running}" echo "waiting..." sleep 2 curl -s --user $EMAIL:$TOKEN $URL/$ENV-${var}/lastBuild/api/json --output now.txt running=$(jq .'building' now.txt) echo "job is still building? ${running}" done
内容的提问来源于stack exchange,提问作者bruvio
相关产品推荐
相关产品推荐

