diff --git a/.woodpecker.yml b/.woodpecker.yml index 085a1db..37dfdde 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -116,29 +116,21 @@ steps: cd "${CI_WORKSPACE}" > projects-to-build.txt - echo "=== Debugowanie wszystkich projektów ===" + echo "=== Selekcja projektów do konteneryzacji ===" find . -name "*.csproj" -type f | while read csproj; do PROJECT_NAME=$(basename "$csproj" .csproj) - echo "" - echo "=== Sprawdzam: $PROJECT_NAME ===" - echo "Plik: $csproj" - - grep -i "ProjectType" "$csproj" || echo "Brak ProjectType w pliku!" - PROJECT_TYPE=$(dotnet msbuild "$csproj" -getProperty:ProjectType -noLogo 2>/dev/null || echo "Unknown") - echo "MSBuild zwrócił: '$PROJECT_TYPE'" if [ "$PROJECT_TYPE" = "Linux" ] || [ "$PROJECT_TYPE" = "Api" ] || [ "$PROJECT_TYPE" = "ServerProcess" ] || [ "$PROJECT_TYPE" = "Blazor" ]; then PROJECT_DIR=$(dirname "$csproj") - echo "✓ DODAJĘ do buildu" + echo "→ Dodaję $PROJECT_NAME (typ: $PROJECT_TYPE)" echo "$PROJECT_DIR|$PROJECT_NAME" >> projects-to-build.txt else - echo "✗ POMIJAM (typ: $PROJECT_TYPE)" + echo "→ Pomijam $PROJECT_NAME (typ: $PROJECT_TYPE)" fi done echo "" - echo "=== PODSUMOWANIE ===" if [ -s projects-to-build.txt ]; then echo "Znalezione projekty:" cat projects-to-build.txt @@ -237,14 +229,35 @@ steps: image: docker:27-cli commands: - | - echo "=== Czyszczenie starych obrazów ===" - docker image prune -af --filter "until=24h" - echo "=== Czyszczenie nieużywanych kontenerów ===" + echo "=== Status przed czyszczeniem ===" + docker system df + + echo "" + echo "=== Usuwanie dangling images (intermediate layers) ===" + docker image prune -f + + echo "" + echo "=== Usuwanie starych wersji aplikacji (zachowaj :latest i obecny SHA) ===" + docker images --format "{{.Repository}}:{{.Tag}}" | grep "git.modwad.pl/fa/" | grep -v ":latest" | grep -v ":${CI_COMMIT_SHA}" | while read img; do + echo "Usuwam: $img" + docker rmi "$img" || true + done + + echo "" + echo "=== Usuwanie zatrzymanych kontenerów ===" docker container prune -f - echo "=== Czyszczenie build cache ===" - docker builder prune -af --filter "until=24h" + + echo "" + echo "=== Usuwanie całego build cache ===" + docker builder prune -af + + echo "" echo "=== Status po czyszczeniu ===" docker system df + + echo "" + echo "=== Lista pozostałych obrazów ===" + docker images | head -20 depends_on: [containerize-apps] when: - status: [success, failure] + status: [success, failure] \ No newline at end of file