Update .woodpecker.yml #23
@@ -108,27 +108,24 @@ steps:
|
|||||||
--skip-duplicate
|
--skip-duplicate
|
||||||
done
|
done
|
||||||
depends_on: [pack-datamodels]
|
depends_on: [pack-datamodels]
|
||||||
select-projects-for-docker:
|
select-projects-for-container:
|
||||||
image: mcr.microsoft.com/dotnet/sdk:latest
|
image: mcr.microsoft.com/dotnet/sdk:latest
|
||||||
commands:
|
commands:
|
||||||
- |
|
- |
|
||||||
set -euf
|
set -euf
|
||||||
cd "${CI_WORKSPACE}"
|
cd "${CI_WORKSPACE}"
|
||||||
echo "" > projects-to-build.txt
|
> projects-to-build.txt
|
||||||
find . -name "*.csproj" -type f | while read csproj; do
|
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")
|
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")
|
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
|
if [ "$DEPLOY_TO_CENTRAL" != "true" ] || [[ "$PROJECT_TYPE" == "Unknown" || "$PROJECT_TYPE" == "DataModel" || "$PROJECT_TYPE" == "LinuxLocal" ]]; then
|
||||||
echo "$PROJECT_DIR|$PROJECT_NAME" >> projects-to-build.txt
|
:
|
||||||
echo "Wybrano do builda: $PROJECT_NAME ($PROJECT_TYPE, DeployToCentral=true)"
|
|
||||||
else
|
else
|
||||||
echo "Pomijam $PROJECT_NAME ($PROJECT_TYPE, DeployToCentral=$DEPLOY_TO_CENTRAL)"
|
PROJECT_NAME=$(basename "$csproj" .csproj)
|
||||||
|
PROJECT_DIR=$(dirname "$csproj")
|
||||||
|
echo "$PROJECT_DIR|$PROJECT_NAME" >> projects-to-build.txt
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo "=== Lista wybranych projektów ==="
|
|
||||||
cat projects-to-build.txt || echo "Brak projektów do builda"
|
|
||||||
depends_on: [publish-datamodels-to-baget]
|
depends_on: [publish-datamodels-to-baget]
|
||||||
containerize-apps:
|
containerize-apps:
|
||||||
image: woodpeckerci/plugin-docker-buildx:latest
|
image: woodpeckerci/plugin-docker-buildx:latest
|
||||||
@@ -144,11 +141,11 @@ steps:
|
|||||||
echo "DEBUG: Użytkownik = '$GITEA_USER'"
|
echo "DEBUG: Użytkownik = '$GITEA_USER'"
|
||||||
echo "DEBUG: Token (pierwsze 4 znaki) = $GITEA_TOKEN..."
|
echo "DEBUG: Token (pierwsze 4 znaki) = $GITEA_TOKEN..."
|
||||||
echo "$GITEA_TOKEN" | docker login git.modwad.pl -u "$GITEA_USER" --password-stdin
|
echo "$GITEA_TOKEN" | docker login git.modwad.pl -u "$GITEA_USER" --password-stdin
|
||||||
if [ ! -f projects-to-build.txt ]; then
|
if [ ! -s projects-to-build.txt ]; then
|
||||||
echo "Brak pliku projects-to-build.txt – nic nie budujemy"
|
echo "Brak projektów do zbudowania"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
cat projects-to-build.txt | while IFS='|' read PROJECT_DIR PROJECT_NAME; do
|
while IFS='|' read -r PROJECT_DIR PROJECT_NAME; do
|
||||||
if [ -z "$PROJECT_NAME" ]; then continue; fi
|
if [ -z "$PROJECT_NAME" ]; then continue; fi
|
||||||
IMAGE_NAME="trent/${PROJECT_NAME,,}"
|
IMAGE_NAME="trent/${PROJECT_NAME,,}"
|
||||||
FULL_IMAGE="git.modwad.pl/${IMAGE_NAME}"
|
FULL_IMAGE="git.modwad.pl/${IMAGE_NAME}"
|
||||||
@@ -177,5 +174,5 @@ steps:
|
|||||||
docker push "${FULL_IMAGE}:latest"
|
docker push "${FULL_IMAGE}:latest"
|
||||||
rm -f "${PROJECT_DIR}/Dockerfile.temp"
|
rm -f "${PROJECT_DIR}/Dockerfile.temp"
|
||||||
echo "Opublikowano: ${FULL_IMAGE}:latest"
|
echo "Opublikowano: ${FULL_IMAGE}:latest"
|
||||||
done
|
done < projects-to-build.txt
|
||||||
depends_on: [select-projects-for-docker]
|
depends_on: [select-projects-for-container]
|
||||||
Reference in New Issue
Block a user