fix: pipeline obtendo numero de versão incorreto pela branch.
This commit is contained in:
parent
95bfe20049
commit
6561bba061
@ -81,13 +81,27 @@ jobs:
|
|||||||
id: extract_branch
|
id: extract_branch
|
||||||
run: |
|
run: |
|
||||||
BRANCH_NAME=${GITHUB_REF#refs/heads/}
|
BRANCH_NAME=${GITHUB_REF#refs/heads/}
|
||||||
VERSION=${BRANCH_NAME#Release/}
|
VERSION_RAW=${BRANCH_NAME#Release/}
|
||||||
|
|
||||||
|
# Remove 'V' prefix se existir
|
||||||
|
VERSION=$(echo "$VERSION_RAW" | sed 's/^[Vv]//')
|
||||||
|
|
||||||
|
# Se versão vazia, usar padrão
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
VERSION="0.0.1"
|
||||||
|
fi
|
||||||
|
|
||||||
COMMIT_SHA=${GITHUB_SHA::7}
|
COMMIT_SHA=${GITHUB_SHA::7}
|
||||||
|
|
||||||
echo "branch=$BRANCH_NAME" >> $GITHUB_OUTPUT
|
echo "branch=$BRANCH_NAME" >> $GITHUB_OUTPUT
|
||||||
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
||||||
echo "commit=$COMMIT_SHA" >> $GITHUB_OUTPUT
|
echo "commit=$COMMIT_SHA" >> $GITHUB_OUTPUT
|
||||||
echo "tag=$VERSION-$COMMIT_SHA" >> $GITHUB_OUTPUT
|
echo "tag=$VERSION-$COMMIT_SHA" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
echo "📋 Branch: $BRANCH_NAME"
|
||||||
|
echo "📦 Version: $VERSION (from $VERSION_RAW)"
|
||||||
|
echo "🔑 Commit: $COMMIT_SHA"
|
||||||
|
|
||||||
- name: Build and push multi-arch Docker image
|
- name: Build and push multi-arch Docker image
|
||||||
run: |
|
run: |
|
||||||
echo "Building multi-arch image for platforms: linux/amd64,linux/arm64"
|
echo "Building multi-arch image for platforms: linux/amd64,linux/arm64"
|
||||||
|
|||||||
@ -15,6 +15,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{02EA
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Pipeline", "Pipeline", "{3F3DEEDF-9E0A-434D-8130-1FBAC43FD1F7}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Pipeline", "Pipeline", "{3F3DEEDF-9E0A-434D-8130-1FBAC43FD1F7}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
docker-compose.staging.yml = docker-compose.staging.yml
|
||||||
|
docker-compose.yml = docker-compose.yml
|
||||||
|
Dockerfile.release = Dockerfile.release
|
||||||
.gitea\workflows\release-deploy.yml = .gitea\workflows\release-deploy.yml
|
.gitea\workflows\release-deploy.yml = .gitea\workflows\release-deploy.yml
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
# Dockerfile.release - Multi-architecture build for Release environment
|
# Dockerfile.release - Multi-architecture build for Release environment
|
||||||
# Supports: linux/amd64, linux/arm64
|
# Supports: linux/amd64, linux/arm64
|
||||||
|
|
||||||
ARG BUILDPLATFORM=linux/amd64
|
ARG BUILDPLATFORM=linux/amd64
|
||||||
ARG TARGETPLATFORM
|
ARG TARGETPLATFORM
|
||||||
ARG VERSION=unknown
|
ARG VERSION=0.0.1
|
||||||
ARG COMMIT=unknown
|
ARG COMMIT=unknown
|
||||||
|
|
||||||
# Base runtime image with multi-arch support
|
# Base runtime image with multi-arch support
|
||||||
@ -33,21 +32,32 @@ ARG COMMIT
|
|||||||
|
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
|
||||||
# Copy project files and restore dependencies
|
# Copy project file and restore dependencies
|
||||||
COPY ["src/BCards.Web/BCards.Web.csproj", "src/BCards.Web/"]
|
COPY ["src/BCards.Web/BCards.Web.csproj", "src/BCards.Web/"]
|
||||||
RUN dotnet restore "src/BCards.Web/BCards.Web.csproj" \
|
|
||||||
--runtime $(echo $TARGETPLATFORM | tr '/' '-')
|
# CORREÇÃO: Mapear plataforma para RID correto do .NET
|
||||||
|
RUN case "$TARGETPLATFORM" in \
|
||||||
|
"linux/amd64") RID="linux-x64" ;; \
|
||||||
|
"linux/arm64") RID="linux-arm64" ;; \
|
||||||
|
*) echo "Unsupported platform: $TARGETPLATFORM" && exit 1 ;; \
|
||||||
|
esac && \
|
||||||
|
echo "🏗️ Building for platform: $TARGETPLATFORM -> RID: $RID" && \
|
||||||
|
dotnet restore "src/BCards.Web/BCards.Web.csproj" --runtime $RID
|
||||||
|
|
||||||
# Copy source code
|
# Copy source code
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR "/src/src/BCards.Web"
|
WORKDIR "/src/src/BCards.Web"
|
||||||
|
|
||||||
# Build application with Release configuration
|
# Build application with Release configuration
|
||||||
RUN dotnet build "BCards.Web.csproj" \
|
RUN case "$TARGETPLATFORM" in \
|
||||||
|
"linux/amd64") RID="linux-x64" ;; \
|
||||||
|
"linux/arm64") RID="linux-arm64" ;; \
|
||||||
|
esac && \
|
||||||
|
dotnet build "BCards.Web.csproj" \
|
||||||
-c Release \
|
-c Release \
|
||||||
-o /app/build \
|
-o /app/build \
|
||||||
--no-restore \
|
--no-restore \
|
||||||
--runtime $(echo $TARGETPLATFORM | tr '/' '-') \
|
--runtime $RID \
|
||||||
-p:Version=$VERSION \
|
-p:Version=$VERSION \
|
||||||
-p:InformationalVersion=$COMMIT
|
-p:InformationalVersion=$COMMIT
|
||||||
|
|
||||||
@ -57,12 +67,16 @@ ARG TARGETPLATFORM
|
|||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG COMMIT
|
ARG COMMIT
|
||||||
|
|
||||||
RUN dotnet publish "BCards.Web.csproj" \
|
RUN case "$TARGETPLATFORM" in \
|
||||||
|
"linux/amd64") RID="linux-x64" ;; \
|
||||||
|
"linux/arm64") RID="linux-arm64" ;; \
|
||||||
|
esac && \
|
||||||
|
dotnet publish "BCards.Web.csproj" \
|
||||||
-c Release \
|
-c Release \
|
||||||
-o /app/publish \
|
-o /app/publish \
|
||||||
--no-restore \
|
--no-restore \
|
||||||
--no-build \
|
--no-build \
|
||||||
--runtime $(echo $TARGETPLATFORM | tr '/' '-') \
|
--runtime $RID \
|
||||||
--self-contained false \
|
--self-contained false \
|
||||||
-p:PublishReadyToRun=true \
|
-p:PublishReadyToRun=true \
|
||||||
-p:PublishSingleFile=false \
|
-p:PublishSingleFile=false \
|
||||||
@ -72,7 +86,7 @@ RUN dotnet publish "BCards.Web.csproj" \
|
|||||||
|
|
||||||
# Final stage - runtime optimized for Release environment
|
# Final stage - runtime optimized for Release environment
|
||||||
FROM base AS final
|
FROM base AS final
|
||||||
ARG VERSION=unknown
|
ARG VERSION=0.0.1
|
||||||
ARG COMMIT=unknown
|
ARG COMMIT=unknown
|
||||||
ARG TARGETPLATFORM
|
ARG TARGETPLATFORM
|
||||||
|
|
||||||
@ -90,8 +104,7 @@ COPY --from=publish /app/publish .
|
|||||||
|
|
||||||
# Create non-root user for security
|
# Create non-root user for security
|
||||||
RUN groupadd -r bcards && useradd -r -g bcards bcards \
|
RUN groupadd -r bcards && useradd -r -g bcards bcards \
|
||||||
&& chown -R bcards:bcards /app \
|
&& chown -R bcards:bcards /app
|
||||||
&& chmod +x /app/BCards.Web.dll
|
|
||||||
|
|
||||||
# Environment variables for Release
|
# Environment variables for Release
|
||||||
ENV ASPNETCORE_ENVIRONMENT=Release
|
ENV ASPNETCORE_ENVIRONMENT=Release
|
||||||
@ -118,6 +131,3 @@ USER bcards
|
|||||||
|
|
||||||
# Entry point with optimized runtime settings
|
# Entry point with optimized runtime settings
|
||||||
ENTRYPOINT ["dotnet", "BCards.Web.dll"]
|
ENTRYPOINT ["dotnet", "BCards.Web.dll"]
|
||||||
|
|
||||||
# Runtime configuration for better performance
|
|
||||||
CMD ["--urls", "http://0.0.0.0:8080"]
|
|
||||||
Loading…
Reference in New Issue
Block a user