5 Commits

Author SHA1 Message Date
0f92c0443c Merge pull request 'feat: 安裝 sleep 套件' (#2) from develop into master
All checks were successful
/ CD > 計算版本號 (push) Successful in 1s
/ CD > 發布專案 (push) Successful in 1s
Reviewed-on: #2
2026-03-25 14:14:13 +00:00
3bb33d6240 feat: 等待 60 秒之後重試 2026-03-25 22:13:19 +08:00
fb777eec31 feat: 安裝 sleep 套件 2026-03-25 22:11:56 +08:00
1112e0c1f2 Merge pull request 'feat: 使用無窮迴圈持續嘗試,直到成功取得有效狀態碼' (#1) from develop into master
All checks were successful
/ CD > 計算版本號 (push) Successful in 1s
/ CD > 發布專案 (push) Successful in 2s
Reviewed-on: #1
2026-03-25 14:09:24 +00:00
c6a531a5e9 feat: 使用無窮迴圈持續嘗試,直到成功取得有效狀態碼 2026-03-25 22:07:40 +08:00
2 changed files with 15 additions and 4 deletions

View File

@@ -1,7 +1,7 @@
FROM alpine:latest
# 安裝必要的工具
RUN apk add --no-cache --no-check-certificate bash curl
RUN apk add --no-cache --no-check-certificate bash curl sleep
COPY entrypoint.sh /entrypoint.sh

View File

@@ -18,10 +18,21 @@ echo "取得狀態碼"
echo "--------------------------------------------------"
# 使用 curl 從 CHECK_URL 取得狀態碼,並將結果存儲在 STATUS_CODE 變數中
# 使用無窮迴圈持續嘗試,直到成功取得有效狀態碼
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 秒後重試
sleep 60
done
# 將狀態碼輸出到環境變數
echo "status_code=$STATUS_CODE" >> $GITHUB_OUTPUT
echo "status_code=$STATUS_CODE" >> "$GITHUB_OUTPUT"
echo "=================================================="