Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
146283281b | ||
|
|
9cf1a7a974 |
@@ -66,6 +66,7 @@ TO_DELETE=$(echo "$SORTED_VERSIONS" | jq -c ".[$KEEP_COUNT:][]")
|
|||||||
|
|
||||||
# 初始化刪除計數器
|
# 初始化刪除計數器
|
||||||
DELETED_COUNT=0
|
DELETED_COUNT=0
|
||||||
|
FAILED_COUNT=0
|
||||||
|
|
||||||
# 處理每個要刪除的版本
|
# 處理每個要刪除的版本
|
||||||
while IFS= read -r version; do
|
while IFS= read -r version; do
|
||||||
@@ -89,7 +90,7 @@ while IFS= read -r version; do
|
|||||||
else
|
else
|
||||||
# 實際刪除
|
# 實際刪除
|
||||||
DELETE_RESPONSE=$(curl -s -w "\nHTTP_STATUS:%{http_code}" \
|
DELETE_RESPONSE=$(curl -s -w "\nHTTP_STATUS:%{http_code}" \
|
||||||
-X DELETE "$GITEA_SERVER/api/v1/packages/$OWNER/container/$PACKAGE_NAME/$VERSION_ID?token=$TOKEN" \
|
-X DELETE "$GITEA_SERVER/api/v1/packages/$OWNER/container/$PACKAGE_NAME/$VERSION_NAME?token=$TOKEN" \
|
||||||
-H "Accept: application/json")
|
-H "Accept: application/json")
|
||||||
|
|
||||||
DELETE_HTTP_STATUS=$(echo "$DELETE_RESPONSE" | grep -o "HTTP_STATUS:[0-9]*" | cut -d: -f2)
|
DELETE_HTTP_STATUS=$(echo "$DELETE_RESPONSE" | grep -o "HTTP_STATUS:[0-9]*" | cut -d: -f2)
|
||||||
@@ -99,10 +100,18 @@ while IFS= read -r version; do
|
|||||||
DELETED_COUNT=$((DELETED_COUNT + 1))
|
DELETED_COUNT=$((DELETED_COUNT + 1))
|
||||||
else
|
else
|
||||||
echo "❌ 刪除失敗映像版本: $VERSION_NAME (ID: $VERSION_ID), HTTP狀態: $DELETE_HTTP_STATUS"
|
echo "❌ 刪除失敗映像版本: $VERSION_NAME (ID: $VERSION_ID), HTTP狀態: $DELETE_HTTP_STATUS"
|
||||||
|
FAILED_COUNT=$((FAILED_COUNT + 1))
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done <<< "$TO_DELETE"
|
done <<< "$TO_DELETE"
|
||||||
|
|
||||||
|
# 檢查是否有刪除失敗的情況
|
||||||
|
if [[ $FAILED_COUNT -gt 0 ]]; then
|
||||||
|
echo ""
|
||||||
|
echo "❌ 錯誤:有 $FAILED_COUNT 個映像版本刪除失敗"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# 輸出最終結果
|
# 輸出最終結果
|
||||||
echo ""
|
echo ""
|
||||||
echo "========================================="
|
echo "========================================="
|
||||||
|
|||||||
@@ -89,10 +89,18 @@ echo "$TO_DELETE" | jq -c '.[]' | while IFS= read -r release; do
|
|||||||
echo "✅ 成功刪除發佈: $RELEASE_TAG ($RELEASE_NAME)"
|
echo "✅ 成功刪除發佈: $RELEASE_TAG ($RELEASE_NAME)"
|
||||||
else
|
else
|
||||||
echo "❌ 刪除失敗發佈: $RELEASE_TAG ($RELEASE_NAME), HTTP 狀態: $HTTP_STATUS"
|
echo "❌ 刪除失敗發佈: $RELEASE_TAG ($RELEASE_NAME), HTTP 狀態: $HTTP_STATUS"
|
||||||
|
FAILED_COUNT=$((FAILED_COUNT + 1))
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# 檢查是否有刪除失敗的情況
|
||||||
|
if [[ $FAILED_COUNT -gt 0 ]]; then
|
||||||
|
echo ""
|
||||||
|
echo "❌ 錯誤:有 $FAILED_COUNT 個發佈刪除失敗"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# 輸出最終結果
|
# 輸出最終結果
|
||||||
if [[ "$DRY_RUN" == "true" ]]; then
|
if [[ "$DRY_RUN" == "true" ]]; then
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
Reference in New Issue
Block a user