You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 12:10:30