4 Commits

Author SHA1 Message Date
8cbe2e3e4d Merge pull request 'fix: 修正刪除 API 的參數' (#22) from develop into master
All checks were successful
/ CD > 發布專案 (push) Successful in 4s
Reviewed-on: #22
2025-12-01 07:15:08 +00:00
Jeffery
146283281b fix: 修正刪除 API 的參數 2025-12-01 15:14:56 +08:00
075bc62138 Merge pull request 'feat: 刪除失敗,不要讓任務成功' (#21) from develop into master
All checks were successful
/ CD > 發布專案 (push) Successful in 3s
Reviewed-on: #21
2025-12-01 07:13:12 +00:00
Jeffery
9cf1a7a974 feat: 刪除失敗,不要讓任務成功 2025-12-01 15:13:00 +08:00
2 changed files with 18 additions and 1 deletions

View File

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

View File

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