From f1ce3c57e964b07c109a6edd48b0dc2d4f1fdc83 Mon Sep 17 00:00:00 2001 From: trent Date: Wed, 14 Jan 2026 20:47:40 +0000 Subject: [PATCH 1/6] Update .woodpecker.yml --- .woodpecker.yml | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index bc53b90..e2e0f7b 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -130,11 +130,9 @@ steps: set -euf cd "${CI_WORKSPACE}" - # Logowanie do rejestru echo "${PLUGIN_PASSWORD}" | docker login "${PLUGIN_REGISTRY}" -u "${PLUGIN_USERNAME}" --password-stdin - # Restore raz jeszcze – bo w tym kroku nie mamy zależności od wcześniejszego restore - dotnet restore + dotnet restore # na wszelki wypadek find . -name "*.csproj" -type f | while read csproj; do PROJECT_DIR=$(dirname "$csproj") @@ -148,27 +146,27 @@ steps: continue fi - IMAGE_NAME="projekty/${PROJECT_NAME,,}" # np. projekty/customerapi + IMAGE_NAME="projekty/${PROJECT_NAME,,}" FULL_IMAGE="${PLUGIN_REGISTRY}/${IMAGE_NAME}" - # Generujemy tymczasowy Dockerfile - cat <<'EOF' > "${PROJECT_DIR}/Dockerfile.temp" -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base -WORKDIR /app -EXPOSE 8080 + # Blok heredoc z wcięciem 10 spacji – YAML to zaakceptuje + cat > "${PROJECT_DIR}/Dockerfile.temp" <<-EOF + FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base + WORKDIR /app + EXPOSE 8080 -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build -WORKDIR /src -COPY . . -RUN dotnet restore "${PROJECT_NAME}.csproj" -RUN dotnet publish "${PROJECT_NAME}.csproj" -c Release -o /app/publish /p:UseAppHost=false + FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build + WORKDIR /src + COPY . . + RUN dotnet restore "${PROJECT_NAME}.csproj" + RUN dotnet publish "${PROJECT_NAME}.csproj" -c Release -o /app/publish /p:UseAppHost=false -FROM base AS final -WORKDIR /app -COPY --from=build /app/publish . -ENV ASPNETCORE_URLS=http://+:8080 -ENTRYPOINT ["dotnet", "${PROJECT_NAME}.dll"] -EOF + FROM base AS final + WORKDIR /app + COPY --from=build /app/publish . + ENV ASPNETCORE_URLS=http://+:8080 + ENTRYPOINT ["dotnet", "${PROJECT_NAME}.dll"] + EOF echo "Buduję → ${FULL_IMAGE}:${CI_COMMIT_SHA}" docker buildx build --platform linux/amd64 \ From dfb6dbef93c4aa8601657f1681b18c3be9b81414 Mon Sep 17 00:00:00 2001 From: trent Date: Wed, 14 Jan 2026 20:50:38 +0000 Subject: [PATCH 2/6] Update .woodpecker.yml --- .woodpecker.yml | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index e2e0f7b..cf3db7c 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -117,22 +117,18 @@ steps: done depends_on: [pack-datamodels] - containerize-apps: + containerize-apps: image: woodpeckerci/plugin-docker-buildx:latest - settings: - registry: git.modwad.pl - username: - from_secret: gitea_registry_user - password: - from_secret: gitea_registry_token + privileged: true # ← to też może pomóc w niektórych wersjach commands: - | set -euf cd "${CI_WORKSPACE}" - echo "${PLUGIN_PASSWORD}" | docker login "${PLUGIN_REGISTRY}" -u "${PLUGIN_USERNAME}" --password-stdin + # Logowanie ręczne (bo nie ma settings) + echo "${GITEA_REGISTRY_TOKEN}" | docker login git.modwad.pl -u "${GITEA_REGISTRY_USER}" --password-stdin - dotnet restore # na wszelki wypadek + dotnet restore find . -name "*.csproj" -type f | while read csproj; do PROJECT_DIR=$(dirname "$csproj") @@ -142,14 +138,13 @@ steps: DEPLOY_TO_CENTRAL=$(dotnet msbuild "$csproj" -getProperty:DeployToCentral -noLogo 2>/dev/null || echo "false") if [ "$DEPLOY_TO_CENTRAL" != "true" ] || [[ "$PROJECT_TYPE" == "Unknown" || "$PROJECT_TYPE" == "DataModel" || "$PROJECT_TYPE" == "LinuxLocal" ]]; then - echo "Pomijam konteneryzację $PROJECT_NAME ($PROJECT_TYPE)" + echo "Pomijam $PROJECT_NAME ($PROJECT_TYPE)" continue fi IMAGE_NAME="projekty/${PROJECT_NAME,,}" - FULL_IMAGE="${PLUGIN_REGISTRY}/${IMAGE_NAME}" + FULL_IMAGE="git.modwad.pl/${IMAGE_NAME}" - # Blok heredoc z wcięciem 10 spacji – YAML to zaakceptuje cat > "${PROJECT_DIR}/Dockerfile.temp" <<-EOF FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app From 232cb0e00d966fd14de1ca6fbab8b2ab2c80ab78 Mon Sep 17 00:00:00 2001 From: trent Date: Wed, 14 Jan 2026 20:53:03 +0000 Subject: [PATCH 3/6] Update .woodpecker.yml --- .woodpecker.yml | 92 ++++++++++++++++++++++++------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index cf3db7c..b5e1d02 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -118,63 +118,63 @@ steps: depends_on: [pack-datamodels] containerize-apps: - image: woodpeckerci/plugin-docker-buildx:latest - privileged: true # ← to też może pomóc w niektórych wersjach - commands: - - | - set -euf - cd "${CI_WORKSPACE}" + image: woodpeckerci/plugin-docker-buildx:latest + privileged: true # ← to też może pomóc w niektórych wersjach + commands: + - | + set -euf + cd "${CI_WORKSPACE}" # Logowanie ręczne (bo nie ma settings) - echo "${GITEA_REGISTRY_TOKEN}" | docker login git.modwad.pl -u "${GITEA_REGISTRY_USER}" --password-stdin + echo "${GITEA_REGISTRY_TOKEN}" | docker login git.modwad.pl -u "${GITEA_REGISTRY_USER}" --password-stdin - dotnet restore + dotnet restore - find . -name "*.csproj" -type f | while read csproj; do - PROJECT_DIR=$(dirname "$csproj") - PROJECT_NAME=$(basename "$csproj" .csproj) + find . -name "*.csproj" -type f | while read csproj; do + PROJECT_DIR=$(dirname "$csproj") + PROJECT_NAME=$(basename "$csproj" .csproj) - PROJECT_TYPE=$(dotnet msbuild "$csproj" -getProperty:ProjectType -noLogo 2>/dev/null || echo "Unknown") - DEPLOY_TO_CENTRAL=$(dotnet msbuild "$csproj" -getProperty:DeployToCentral -noLogo 2>/dev/null || echo "false") + PROJECT_TYPE=$(dotnet msbuild "$csproj" -getProperty:ProjectType -noLogo 2>/dev/null || echo "Unknown") + DEPLOY_TO_CENTRAL=$(dotnet msbuild "$csproj" -getProperty:DeployToCentral -noLogo 2>/dev/null || echo "false") - if [ "$DEPLOY_TO_CENTRAL" != "true" ] || [[ "$PROJECT_TYPE" == "Unknown" || "$PROJECT_TYPE" == "DataModel" || "$PROJECT_TYPE" == "LinuxLocal" ]]; then - echo "Pomijam $PROJECT_NAME ($PROJECT_TYPE)" - continue - fi + if [ "$DEPLOY_TO_CENTRAL" != "true" ] || [[ "$PROJECT_TYPE" == "Unknown" || "$PROJECT_TYPE" == "DataModel" || "$PROJECT_TYPE" == "LinuxLocal" ]]; then + echo "Pomijam $PROJECT_NAME ($PROJECT_TYPE)" + continue + fi - IMAGE_NAME="projekty/${PROJECT_NAME,,}" - FULL_IMAGE="git.modwad.pl/${IMAGE_NAME}" + IMAGE_NAME="projekty/${PROJECT_NAME,,}" + FULL_IMAGE="git.modwad.pl/${IMAGE_NAME}" - cat > "${PROJECT_DIR}/Dockerfile.temp" <<-EOF - FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base - WORKDIR /app - EXPOSE 8080 + cat > "${PROJECT_DIR}/Dockerfile.temp" <<-EOF + FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base + WORKDIR /app + EXPOSE 8080 - FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build - WORKDIR /src - COPY . . - RUN dotnet restore "${PROJECT_NAME}.csproj" - RUN dotnet publish "${PROJECT_NAME}.csproj" -c Release -o /app/publish /p:UseAppHost=false + FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build + WORKDIR /src + COPY . . + RUN dotnet restore "${PROJECT_NAME}.csproj" + RUN dotnet publish "${PROJECT_NAME}.csproj" -c Release -o /app/publish /p:UseAppHost=false - FROM base AS final - WORKDIR /app - COPY --from=build /app/publish . - ENV ASPNETCORE_URLS=http://+:8080 - ENTRYPOINT ["dotnet", "${PROJECT_NAME}.dll"] - EOF + FROM base AS final + WORKDIR /app + COPY --from=build /app/publish . + ENV ASPNETCORE_URLS=http://+:8080 + ENTRYPOINT ["dotnet", "${PROJECT_NAME}.dll"] + EOF - echo "Buduję → ${FULL_IMAGE}:${CI_COMMIT_SHA}" - docker buildx build --platform linux/amd64 \ - -t "${FULL_IMAGE}:${CI_COMMIT_SHA}" \ - -t "${FULL_IMAGE}:latest" \ - -f "${PROJECT_DIR}/Dockerfile.temp" \ - "${PROJECT_DIR}" + echo "Buduję → ${FULL_IMAGE}:${CI_COMMIT_SHA}" + docker buildx build --platform linux/amd64 \ + -t "${FULL_IMAGE}:${CI_COMMIT_SHA}" \ + -t "${FULL_IMAGE}:latest" \ + -f "${PROJECT_DIR}/Dockerfile.temp" \ + "${PROJECT_DIR}" - docker push "${FULL_IMAGE}:${CI_COMMIT_SHA}" - docker push "${FULL_IMAGE}:latest" + docker push "${FULL_IMAGE}:${CI_COMMIT_SHA}" + docker push "${FULL_IMAGE}:latest" - rm -f "${PROJECT_DIR}/Dockerfile.temp" + rm -f "${PROJECT_DIR}/Dockerfile.temp" - echo "Opublikowano: ${FULL_IMAGE}:latest" - done - depends_on: [publish-datamodels-to-baget] \ No newline at end of file + echo "Opublikowano: ${FULL_IMAGE}:latest" + done + depends_on: [publish-datamodels-to-baget] \ No newline at end of file From b8199a3428a134612b685f1869fb5873fa14c5fe Mon Sep 17 00:00:00 2001 From: trent Date: Wed, 14 Jan 2026 20:53:44 +0000 Subject: [PATCH 4/6] Update .woodpecker.yml --- .woodpecker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index b5e1d02..3af622a 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -175,6 +175,6 @@ steps: rm -f "${PROJECT_DIR}/Dockerfile.temp" - echo "Opublikowano: ${FULL_IMAGE}:latest" + #echo "Opublikowano: ${FULL_IMAGE}:latest" done depends_on: [publish-datamodels-to-baget] \ No newline at end of file From 44efa3fa1b3102e63f13de51afad3d7c468ab5ff Mon Sep 17 00:00:00 2001 From: trent Date: Wed, 14 Jan 2026 20:55:26 +0000 Subject: [PATCH 5/6] Update .woodpecker.yml --- .woodpecker.yml | 101 ++++++++++++++++++++++++------------------------ 1 file changed, 50 insertions(+), 51 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index 3af622a..94dd565 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -53,14 +53,14 @@ steps: --minimum-major-minor 2.0 \ --default-pre-release-identifiers alpha.0 \ --verbosity info) - + echo "Wersja: $MINVER_VERSION" - + mkdir -p nupkg echo "=== Pełniejsze fetch git (unshallow + tags) ===" git fetch --prune --unshallow || echo "Już full clone – OK" git fetch --tags - + echo "=== Dostępne tagi ===" git tag -l echo "=== Aktualny commit i opis ===" @@ -117,64 +117,63 @@ steps: done depends_on: [pack-datamodels] - containerize-apps: - image: woodpeckerci/plugin-docker-buildx:latest - privileged: true # ← to też może pomóc w niektórych wersjach - commands: - - | - set -euf - cd "${CI_WORKSPACE}" + containerize-apps: + image: woodpeckerci/plugin-docker-buildx:latest + privileged: true + commands: + - | + set -euf + cd "${CI_WORKSPACE}" - # Logowanie ręczne (bo nie ma settings) - echo "${GITEA_REGISTRY_TOKEN}" | docker login git.modwad.pl -u "${GITEA_REGISTRY_USER}" --password-stdin + echo "${GITEA_REGISTRY_TOKEN}" | docker login git.modwad.pl -u "${GITEA_REGISTRY_USER}" --password-stdin - dotnet restore + dotnet restore - find . -name "*.csproj" -type f | while read csproj; do - PROJECT_DIR=$(dirname "$csproj") - PROJECT_NAME=$(basename "$csproj" .csproj) + find . -name "*.csproj" -type f | while read csproj; do + PROJECT_DIR=$(dirname "$csproj") + PROJECT_NAME=$(basename "$csproj" .csproj) - PROJECT_TYPE=$(dotnet msbuild "$csproj" -getProperty:ProjectType -noLogo 2>/dev/null || echo "Unknown") - DEPLOY_TO_CENTRAL=$(dotnet msbuild "$csproj" -getProperty:DeployToCentral -noLogo 2>/dev/null || echo "false") + PROJECT_TYPE=$(dotnet msbuild "$csproj" -getProperty:ProjectType -noLogo 2>/dev/null || echo "Unknown") + DEPLOY_TO_CENTRAL=$(dotnet msbuild "$csproj" -getProperty:DeployToCentral -noLogo 2>/dev/null || echo "false") - if [ "$DEPLOY_TO_CENTRAL" != "true" ] || [[ "$PROJECT_TYPE" == "Unknown" || "$PROJECT_TYPE" == "DataModel" || "$PROJECT_TYPE" == "LinuxLocal" ]]; then - echo "Pomijam $PROJECT_NAME ($PROJECT_TYPE)" - continue - fi + if [ "$DEPLOY_TO_CENTRAL" != "true" ] || [[ "$PROJECT_TYPE" == "Unknown" || "$PROJECT_TYPE" == "DataModel" || "$PROJECT_TYPE" == "LinuxLocal" ]]; then + echo "Pomijam $PROJECT_NAME ($PROJECT_TYPE)" + continue + fi - IMAGE_NAME="projekty/${PROJECT_NAME,,}" - FULL_IMAGE="git.modwad.pl/${IMAGE_NAME}" + IMAGE_NAME="projekty/${PROJECT_NAME,,}" + FULL_IMAGE="git.modwad.pl/${IMAGE_NAME}" - cat > "${PROJECT_DIR}/Dockerfile.temp" <<-EOF - FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base - WORKDIR /app - EXPOSE 8080 + cat > "${PROJECT_DIR}/Dockerfile.temp" <<-EOF + FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base + WORKDIR /app + EXPOSE 8080 - FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build - WORKDIR /src - COPY . . - RUN dotnet restore "${PROJECT_NAME}.csproj" - RUN dotnet publish "${PROJECT_NAME}.csproj" -c Release -o /app/publish /p:UseAppHost=false + FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build + WORKDIR /src + COPY . . + RUN dotnet restore "${PROJECT_NAME}.csproj" + RUN dotnet publish "${PROJECT_NAME}.csproj" -c Release -o /app/publish /p:UseAppHost=false - FROM base AS final - WORKDIR /app - COPY --from=build /app/publish . - ENV ASPNETCORE_URLS=http://+:8080 - ENTRYPOINT ["dotnet", "${PROJECT_NAME}.dll"] - EOF + FROM base AS final + WORKDIR /app + COPY --from=build /app/publish . + ENV ASPNETCORE_URLS=http://+:8080 + ENTRYPOINT ["dotnet", "${PROJECT_NAME}.dll"] + EOF - echo "Buduję → ${FULL_IMAGE}:${CI_COMMIT_SHA}" - docker buildx build --platform linux/amd64 \ - -t "${FULL_IMAGE}:${CI_COMMIT_SHA}" \ - -t "${FULL_IMAGE}:latest" \ - -f "${PROJECT_DIR}/Dockerfile.temp" \ - "${PROJECT_DIR}" + echo "Buduję → ${FULL_IMAGE}:${CI_COMMIT_SHA}" + docker buildx build --platform linux/amd64 \ + -t "${FULL_IMAGE}:${CI_COMMIT_SHA}" \ + -t "${FULL_IMAGE}:latest" \ + -f "${PROJECT_DIR}/Dockerfile.temp" \ + "${PROJECT_DIR}" - docker push "${FULL_IMAGE}:${CI_COMMIT_SHA}" - docker push "${FULL_IMAGE}:latest" + docker push "${FULL_IMAGE}:${CI_COMMIT_SHA}" + docker push "${FULL_IMAGE}:latest" - rm -f "${PROJECT_DIR}/Dockerfile.temp" + rm -f "${PROJECT_DIR}/Dockerfile.temp" - #echo "Opublikowano: ${FULL_IMAGE}:latest" - done - depends_on: [publish-datamodels-to-baget] \ No newline at end of file + echo "Opublikowano: ${FULL_IMAGE}:latest" + done + depends_on: [publish-datamodels-to-baget] \ No newline at end of file From 23167283b0b2dc3e4bde5454a10bc5a4b12d89d5 Mon Sep 17 00:00:00 2001 From: trent Date: Wed, 14 Jan 2026 20:55:47 +0000 Subject: [PATCH 6/6] Update .woodpecker.yml --- .woodpecker.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index 94dd565..5cbcd0b 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -119,7 +119,6 @@ steps: containerize-apps: image: woodpeckerci/plugin-docker-buildx:latest - privileged: true commands: - | set -euf