16 Commits

Author SHA1 Message Date
a78750013a Merge pull request 'feat: 連線失敗,等待 60 秒後重試' (#10) from develop into master
All checks were successful
/ CD > 計算版本號 (push) Successful in 1s
/ CD > 發布專案 (push) Successful in 2s
Reviewed-on: #10
2026-03-26 01:34:26 +00:00
Jeffery
9335cf585a feat: 連線失敗,等待 60 秒後重試 2026-03-26 09:34:01 +08:00
c6483a0c9a Merge pull request 'feat: 安裝缺少的工具' (#9) from develop into master
All checks were successful
/ CD > 計算版本號 (push) Successful in 2s
/ CD > 發布專案 (push) Successful in 2s
Reviewed-on: #9
2026-03-26 01:31:39 +00:00
Jeffery
5c97ceada7 feat: 安裝缺少的工具 2026-03-26 09:31:10 +08:00
9a760e3693 Merge pull request 'feat: 將基底映象檔改為 ubuntu 讓基礎指令可以使用' (#8) from develop into master
All checks were successful
/ CD > 計算版本號 (push) Successful in 1s
/ CD > 發布專案 (push) Successful in 2s
Reviewed-on: #8
2026-03-26 01:29:05 +00:00
Jeffery
0a1971441e feat: 將基底映象檔改為 ubuntu 讓基礎指令可以使用 2026-03-26 09:28:36 +08:00
21958a895e Merge pull request 'feat: 安裝 coreutils 讓腳本可以執行 date 指令' (#7) from develop into master
All checks were successful
/ CD > 計算版本號 (push) Successful in 1s
/ CD > 發布專案 (push) Successful in 3s
Reviewed-on: #7
2026-03-26 01:26:35 +00:00
Jeffery
b888fd2108 feat: 安裝 coreutils 讓腳本可以執行 date 指令 2026-03-26 09:26:12 +08:00
da34ef84e3 Merge pull request 'feat: 優化檢查流程' (#6) from develop into master
All checks were successful
/ CD > 計算版本號 (push) Successful in 2s
/ CD > 發布專案 (push) Successful in 2s
Reviewed-on: #6
2026-03-26 01:11:25 +00:00
Jeffery
d50f122a50 feat: 優化檢查流程 2026-03-26 09:10:27 +08:00
fd7ffee647 Merge pull request 'feat: 使用 bash 預設的指令' (#5) from develop into master
All checks were successful
/ CD > 計算版本號 (push) Successful in 1s
/ CD > 發布專案 (push) Successful in 2s
Reviewed-on: #5
2026-03-25 14:22:14 +00:00
bcd0766c95 feat: 使用 bash 預設的指令 2026-03-25 22:21:43 +08:00
13e943e32b Merge pull request 'feat: 使用 sleep 的絕對路徑' (#4) from develop into master
All checks were successful
/ CD > 計算版本號 (push) Successful in 2s
/ CD > 發布專案 (push) Successful in 2s
Reviewed-on: #4
2026-03-25 14:20:07 +00:00
1465691595 Merge pull request 'test: 安裝 coreutils 才能使用 sleep 指令' (#3) from develop into master
All checks were successful
/ CD > 計算版本號 (push) Successful in 1s
/ CD > 發布專案 (push) Successful in 2s
Reviewed-on: #3
2026-03-25 14:17:35 +00:00
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
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
2 changed files with 17 additions and 12 deletions

View File

@@ -1,7 +1,10 @@
FROM alpine:latest
FROM ubuntu:latest
# 安裝必要的工具
RUN apk add --no-cache --no-check-certificate bash curl coreutils
# 更新並安裝必要的工具後清理暫存檔案以減小映像檔大小
RUN apt update \
&& apt install -y curl \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*
COPY entrypoint.sh /entrypoint.sh

View File

@@ -20,19 +20,21 @@ echo "--------------------------------------------------"
# 使用無窮迴圈持續嘗試,直到成功取得有效狀態碼
while true; do
# 使用 curl 取得狀態碼,並將結果輸出到環境變數 STATUS_CODE
STATUS_CODE=$(curl -s -o /dev/null -w "%{http_code}" "$CHECK_URL") && echo "STATUS_CODE=$STATUS_CODE"
echo -n "[$(date -u +"%Y-%m-%dT%H:%M:%SZ")] $CHECK_URL ... "
# curl 無法連線時常見為 000持續重試
if [ "$STATUS_CODE" != "000" ]; then
break
fi
# 使用 curl 取得狀態碼,最長等待 60 秒,並將結果輸出到環境變數 STATUS_CODE
STATUS_CODE=$(curl -s --max-time 60 -o /dev/null -w "%{http_code}" "$CHECK_URL")
# 休息 60 秒後重試
/usr/bin/sleep 60
echo "$STATUS_CODE" && [ "$STATUS_CODE" != "000" ] && break
# 如果狀態碼為 "000",表示連線失敗,等待 60 秒後重試
sleep 60
done
# 將狀態碼輸出到環境變數
echo "status_code=$STATUS_CODE" >> "$GITHUB_OUTPUT"
# 檢查狀態碼是否正確
[ "$STATUS_CODE" = "$HEALTH_CODE" ] && exit 0 || exit 1
echo "=================================================="