3 Commits

Author SHA1 Message Date
Jeffery
4a748313d2 feat: 透過 trap 在收到訊號時立即退出 2026-03-27 14:56:28 +08:00
Jeffery
caca2c9a91 feat: 將 exit 移到最後一步 2026-03-26 15:33:33 +08:00
Jeffery
c898b47a72 feat: 將參數輸出移到最後一個步驟 2026-03-26 14:51:27 +08:00
2 changed files with 15 additions and 3 deletions

View File

@@ -8,6 +8,9 @@ inputs:
HEALTH_CODE:
description: '健康碼'
default: '200'
outputs:
status_code:
description: '服務的狀態碼'
runs:
using: 'docker'
image: 'Dockerfile'

View File

@@ -1,5 +1,14 @@
#!/bin/bash
# 當 GitHub Actions 手動取消 workflow 時Runner 會對容器送出終止訊號。
# 透過 trap 可在收到訊號時立即退出,避免無限迴圈持續重試。
on_terminate() {
echo "[$(date -u +"%Y-%m-%dT%H:%M:%SZ")] 收到取消訊號,停止健康檢查。"
exit 130
}
trap on_terminate TERM INT
echo "=================================================="
echo "參數檢查"
@@ -31,10 +40,10 @@ while true; do
sleep 60
done
echo "=================================================="
# 將狀態碼輸出到環境變數
echo "status_code=$STATUS_CODE" >> "$GITHUB_OUTPUT"
# 檢查狀態碼是否正確
[ "$STATUS_CODE" = "$HEALTH_CODE" ] && exit 0 || exit 1
echo "=================================================="
[ "$STATUS_CODE" = "$HEALTH_CODE" ] && exit 0 || exit 1