diff --git a/.woodpecker.yml b/.woodpecker.yml index 901da5f..cfd0b9b 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -160,35 +160,40 @@ steps: echo -n "git.modwad.pl/faapp/" > /tmp/tag.txt echo "$PNAME" | tr 'A-Z' 'a-z' | tr -d '\n' >> /tmp/tag.txt + echo "$PNAME" > /tmp/pname.txt + cd "${PDIR}" - cat > "Dockerfile.temp" < "Dockerfile.temp" <<'ENDOFDOCKERFILE' 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 "${PNAME}.csproj" - RUN dotnet publish "${PNAME}.csproj" -c Release -o /app/publish /p:UseAppHost=false + RUN dotnet restore "%%PROJECTNAME%%.csproj" + RUN dotnet publish "%%PROJECTNAME%%.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", "${PNAME}.dll"] + ENTRYPOINT ["dotnet", "%%PROJECTNAME%%.dll"] ENDOFDOCKERFILE + REAL_PNAME=$(cat /tmp/pname.txt) + sed "s/%%PROJECTNAME%%/$REAL_PNAME/g" "Dockerfile.temp" > "Dockerfile.final" + docker buildx build \ --platform linux/amd64 \ -t "$(cat /tmp/tag.txt):${CI_COMMIT_SHA}" \ -t "$(cat /tmp/tag.txt):latest" \ - -f "Dockerfile.temp" \ + -f "Dockerfile.final" \ . docker push "$(cat /tmp/tag.txt):${CI_COMMIT_SHA}" docker push "$(cat /tmp/tag.txt):latest" - rm -f "Dockerfile.temp" + rm -f "Dockerfile.temp" "Dockerfile.final" cd "${CI_WORKSPACE}" done depends_on: [select-projects-for-container]