Files
cleanup-docker/action.yml
2026-03-25 09:26:34 +08:00

46 lines
1.4 KiB
YAML

name: 'CLEANUP DOCKER'
description: '清理 Docker 沒用到的資源'
author: 'Jeffery'
inputs:
DISK_USAGE_THRESHOLD:
description: '磁碟使用量閾值'
default: '80'
runs:
using: 'composite'
env:
DISK_USAGE_THRESHOLD: ${{ inputs.DISK_USAGE_THRESHOLD }}
steps:
- name: 清理 Docker 資源
run: |
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 "=================================================="