2 Commits

Author SHA1 Message Date
Jeffery
cdd21c461c feat: 合併兩個 step 2026-03-25 09:26:34 +08:00
Jeffery
bc8b17391b feat: 整理需要顯示的資訊與參數檢查 2026-03-25 09:20:20 +08:00

View File

@@ -7,18 +7,40 @@ inputs:
default: '80' default: '80'
runs: runs:
using: 'composite' using: 'composite'
env:
DISK_USAGE_THRESHOLD: ${{ inputs.DISK_USAGE_THRESHOLD }}
steps: steps:
- name: 取得磁碟使用率
id: disk
run: |
USAGE=$(df / | awk 'NR==2{print $5}' | tr -d '%')
echo "磁碟使用率:${USAGE}%"
if [ "$USAGE" -gt "$DISK_USAGE_THRESHOLD" ]; then
echo "should_prune=true" >> $GITHUB_OUTPUT
else
echo "使用率為 ${USAGE}%,低於閾值,跳過清理"
echo "should_prune=false" >> $GITHUB_OUTPUT
fi
- name: 清理 Docker 資源 - name: 清理 Docker 資源
if: steps.disk.outputs.should_prune == 'true' run: |
run: docker system prune -af --volumes echo "=================================================="
echo "參數檢查"
echo "--------------------------------------------------"
# 顯示 DISK_USAGE_THRESHOLD 參數,並檢查是否為空或 "null",如果是則輸出錯誤訊息並退出
echo "DISK_USAGE_THRESHOLD=$DISK_USAGE_THRESHOLD" && ([ -z "$DISK_USAGE_THRESHOLD" ] || [ "$DISK_USAGE_THRESHOLD" = "null" ]) && DISK_USAGE_THRESHOLD='80'
echo "=================================================="
echo "取得硬碟使用率"
echo "--------------------------------------------------"
# 取得硬碟使用率
USAGE=$(df / | awk 'NR==2{print $5}' | tr -d '%') && echo "磁碟使用率:${USAGE}%"
echo "=================================================="
# 檢查是否需要清理 Docker 資源
if [ "$USAGE" -le "$DISK_USAGE_THRESHOLD" ]; then
exit 0
fi
echo "清理 Docker 資源"
echo "--------------------------------------------------"
docker system prune -af --volumes
echo "=================================================="