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 "=================================================="