From fba5cdbabec57402e4fdcf419b2a07d5259d0434 Mon Sep 17 00:00:00 2001 From: masoud Date: Fri, 5 Dec 2025 16:25:14 +0000 Subject: [PATCH] Add Kubernetes CI/CD pipeline for kub-stage --- .gitea/workflows/kub-deploy.yml | 27 +++++++++++++++++++++++++++ Dockerfile | 15 +++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 .gitea/workflows/kub-deploy.yml create mode 100644 Dockerfile diff --git a/.gitea/workflows/kub-deploy.yml b/.gitea/workflows/kub-deploy.yml new file mode 100644 index 0000000..dccfd3a --- /dev/null +++ b/.gitea/workflows/kub-deploy.yml @@ -0,0 +1,27 @@ +name: Build and Deploy to Kubernetes + +on: + push: + branches: + - kub-stage + +env: + REGISTRY: 194.5.195.53:30080 + IMAGE_NAME: admin/frontoffice + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Build Docker Image + run: | + docker build -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} \ + -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest . + + - name: Push to Registry + run: | + echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ env.REGISTRY }} -u admin --password-stdin + docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} + docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..51f47cf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +WORKDIR /src +COPY src/*.sln ./ 2>/dev/null || true +COPY src/*/*.csproj ./ +RUN for file in *.csproj; do mkdir -p "${file%.*}" && mv "$file" "${file%.*}/"; done 2>/dev/null || true +RUN dotnet restore "FrontOffice/FrontOffice.csproj" || dotnet restore +COPY src/ ./ +RUN dotnet publish "FrontOffice/FrontOffice.csproj" -c Release -o /app/publish + +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime +WORKDIR /app +COPY --from=build /app/publish . +ENV ASPNETCORE_URLS=http://+:8080 +EXPOSE 8080 +ENTRYPOINT ["dotnet", "FrontOffice.dll"]