Update .woodpecker.yml #23
@@ -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" <<ENDOFDOCKERFILE
|
||||
cat > "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]
|
||||
|
||||
Reference in New Issue
Block a user