This commit is contained in:
@@ -22,28 +22,31 @@ jobs:
|
|||||||
- name: Check Gitea health
|
- name: Check Gitea health
|
||||||
id: gitea
|
id: gitea
|
||||||
run: |
|
run: |
|
||||||
if curl -sf --connect-timeout 10 "https://gitea.windychen00n.work/api/healthz" | grep -q '"status":"pass"'; then
|
BODY=$(curl -sf --connect-timeout 15 "https://gitea.windychen00n.work/api/healthz")
|
||||||
|
if echo "$BODY" | grep -qE '"status"[[:space:]]*:[[:space:]]*"pass"'; then
|
||||||
echo "result=ok|Gitea 健康检查通过" >> $GITHUB_OUTPUT
|
echo "result=ok|Gitea 健康检查通过" >> $GITHUB_OUTPUT
|
||||||
else
|
else
|
||||||
echo "result=fail|Gitea 健康检查失败" >> $GITHUB_OUTPUT
|
echo "result=fail|Gitea 健康检查失败" >> $GITHUB_OUTPUT
|
||||||
curl -sv --connect-timeout 10 "https://gitea.windychen00n.work/api/healthz" 2>&1 | tail -5 || true
|
echo "$BODY" | head -3
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Check Verdaccio health
|
- name: Check Verdaccio health
|
||||||
id: verdaccio
|
id: verdaccio
|
||||||
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
if curl -sf --connect-timeout 5 "http://172.172.2.4:4873/-/ping" >/dev/null 2>&1; then
|
if curl -sf --connect-timeout 5 "http://172.172.2.4:4873/-/ping" >/dev/null 2>&1; then
|
||||||
echo "result=ok|Verdaccio 正常" >> $GITHUB_OUTPUT
|
echo "result=ok|Verdaccio 内网可达" >> $GITHUB_OUTPUT
|
||||||
|
elif curl -sf --connect-timeout 5 "http://verdaccio:4873/-/ping" >/dev/null 2>&1; then
|
||||||
|
echo "result=ok|Verdaccio DNS 可达" >> $GITHUB_OUTPUT
|
||||||
else
|
else
|
||||||
echo "result=fail|Verdaccio 不可达(job 容器可能不在内网)" >> $GITHUB_OUTPUT
|
echo "result=warn|Verdaccio 内网不可达(需配置 runner job 网络)" >> $GITHUB_OUTPUT
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Check runner registration
|
- name: Check runner registration
|
||||||
id: runner
|
id: runner
|
||||||
run: |
|
run: |
|
||||||
RESP=$(curl -sf --connect-timeout 10 -u "${{ secrets.CI_USER }}:${{ secrets.CI_PASSWORD }}" \
|
RESP=$(curl -sf --connect-timeout 15 -u "${{ secrets.CI_USER }}:${{ secrets.CI_PASSWORD }}" \
|
||||||
"https://gitea.windychen00n.work/api/v1/admin/actions/runners")
|
"https://gitea.windychen00n.work/api/v1/admin/actions/runners")
|
||||||
ONLINE=$(echo "$RESP" | grep -c '"status":"online"' || true)
|
ONLINE=$(echo "$RESP" | grep -c '"status":"online"' || true)
|
||||||
if [ "${ONLINE:-0}" -ge 1 ]; then
|
if [ "${ONLINE:-0}" -ge 1 ]; then
|
||||||
@@ -60,3 +63,10 @@ jobs:
|
|||||||
curl -s -X POST "https://oapi.dingtalk.com/robot/send?access_token=${{ secrets.DINGDING_TOKEN }}" \
|
curl -s -X POST "https://oapi.dingtalk.com/robot/send?access_token=${{ secrets.DINGDING_TOKEN }}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d '{"msgtype":"markdown","markdown":{"title":"❌ Gitea Runner 自主维护告警 chen-fnos","text":"## ❌ Gitea Runner 自主维护告警 chen-fnos\n\n- Gitea: ${{ steps.gitea.outputs.result }}\n- Verdaccio: ${{ steps.verdaccio.outputs.result }}\n- Runner: ${{ steps.runner.outputs.result }}\n\n请检查 gitea-runner 容器"}}'
|
-d '{"msgtype":"markdown","markdown":{"title":"❌ Gitea Runner 自主维护告警 chen-fnos","text":"## ❌ Gitea Runner 自主维护告警 chen-fnos\n\n- Gitea: ${{ steps.gitea.outputs.result }}\n- Verdaccio: ${{ steps.verdaccio.outputs.result }}\n- Runner: ${{ steps.runner.outputs.result }}\n\n请检查 gitea-runner 容器"}}'
|
||||||
|
|
||||||
|
- name: Notify DingTalk on success
|
||||||
|
if: success()
|
||||||
|
run: |
|
||||||
|
curl -s -X POST "https://oapi.dingtalk.com/robot/send?access_token=${{ secrets.DINGDING_TOKEN }}" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{"msgtype":"markdown","markdown":{"title":"✅ Gitea Runner 自主维护正常 chen-fnos","text":"## ✅ Gitea Runner 自主维护正常 chen-fnos\n\n- Gitea: ${{ steps.gitea.outputs.result }}\n- Verdaccio: ${{ steps.verdaccio.outputs.result }}\n- Runner: ${{ steps.runner.outputs.result }}"}}'
|
||||||
|
|||||||
Reference in New Issue
Block a user