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

GitHub Actions运行器健康检查无法获取版本号问题排查

网站健康检查Job随机失败问题

问题概述

我有一个GitHub Actions工作流,包含3个用于网站健康检查的相似Job,但它们的行为完全随机无规律,我已经尝试了wget和curl的所有可能组合,问题仍未解决。

工作流与脚本详情

  • 工作流组成:包含deploy-to-gcloud部署Job,以及test-after-deployment(主健康检查Job)、test-while-deployment、test-after-deployment-2三个健康检查Job,部署目标为GCP。
  • 健康检查执行脚本test.sh内容:
#!/bin/bash

while [ "$status" != "0" ]; do
    sleep 5
    # curl <WEBSITE GOES HERE>
    wget -S --spider <WEBSITE GOES HERE> 2>&1 | grep HTTP/
    # curl -v --silent <WEBSITE GOES HERE> 2>&1 | grep -Po $1
    wget <WEBSITE GOES HERE> -q -O - | grep -Po $1
    status=$(echo $?)
done
  • 脚本触发方式:工作流中通过timeout命令调用该脚本,并传入github.sha作为版本号参数。

测试结果

分别在本地PC和GitHub Codespaces各执行10次测试,结果无固定失败模式:

  • 本地PC:7次成功,3次失败,失败涉及不同的wget/curl组合
  • GitHub Codespaces:3次成功,7次失败,失败覆盖所有命令组合

关键观察信息

失败场景下,HTTP请求返回HTTP/1.1 200 OK,但始终无法通过grep匹配到指定的SHA值,最终因timeout触发退出码124;成功场景下则能正常返回并匹配到SHA值。

内容的提问来源于stack exchange,提问作者mustafa_khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 01:40:34