Files
health-check/entrypoint.sh

38 lines
1.2 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
echo "=================================================="
echo "參數檢查"
echo "--------------------------------------------------"
# 顯示 CHECK_URL 參數,並檢查是否為空或 "null",如果是則輸出錯誤訊息並退出
echo "CHECK_URL=$CHECK_URL" && ([ -z "$CHECK_URL" ] || [ "$CHECK_URL" = "null" ]) && exit 1
# 顯示 HEALTH_CODE 參數,並檢查是否為空或 "null",如果是則輸出錯誤訊息並退出
echo "HEALTH_CODE=$HEALTH_CODE" && ([ -z "$HEALTH_CODE" ] || [ "$HEALTH_CODE" = "null" ]) && exit 1
echo "=================================================="
echo "取得狀態碼"
echo "--------------------------------------------------"
# 使用無窮迴圈持續嘗試,直到成功取得有效狀態碼
while true; do
# 使用 curl 取得狀態碼,並將結果輸出到環境變數 STATUS_CODE
STATUS_CODE=$(curl -s -o /dev/null -w "%{http_code}" "$CHECK_URL") && echo "STATUS_CODE=$STATUS_CODE"
# curl 無法連線時常見為 000持續重試
if [ "$STATUS_CODE" != "000" ]; then
break
fi
# 休息 60 秒後重試
/usr/bin/sleep 60
done
# 將狀態碼輸出到環境變數
echo "status_code=$STATUS_CODE" >> "$GITHUB_OUTPUT"
echo "=================================================="