diff --git a/.gitea/workflows/kub-deploy.yml b/.gitea/workflows/kub-deploy.yml index 11e34ea..ea673aa 100644 --- a/.gitea/workflows/kub-deploy.yml +++ b/.gitea/workflows/kub-deploy.yml @@ -15,45 +15,31 @@ jobs: container: image: docker:latest options: --privileged - env: - HTTP_PROXY: http://proxyuser:87zH26nbqT2@46.249.98.211:3128 - HTTPS_PROXY: http://proxyuser:87zH26nbqT2@46.249.98.211:3128 - NO_PROXY: localhost,127.0.0.1,gitea-svc,194.5.195.53,10.0.0.0/8 steps: - - name: Install dependencies - run: | - apk add --no-cache git curl - - # Install kubectl - curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" - chmod +x kubectl - mv kubectl /usr/local/bin/ - - name: Start Docker daemon with insecure registry run: | mkdir -p /etc/docker cat > /etc/docker/daemon.json << 'DAEMON' { +<<<<<<< HEAD "insecure-registries": ["194.5.195.53:30080", "gitea-svc:3000"] +======= + "insecure-registries": ["194.5.195.53:32500", "194.5.195.53:32082", "git.kbs1.ir", "gitea-svc:3000"], + "dns": ["0.0.0.0"] +>>>>>>> production } DAEMON - mkdir -p ~/.docker - cat > ~/.docker/config.json << 'CONF' - { - "proxies": { - "default": { - "httpProxy": "http://proxyuser:87zH26nbqT2@46.249.98.211:3128", - "httpsProxy": "http://proxyuser:87zH26nbqT2@46.249.98.211:3128", - "noProxy": "localhost,127.0.0.1,gitea-svc,194.5.195.53,10.0.0.0/8" - } - } - } - CONF + + # بدون اینترنت - فقط از cached images dockerd & for i in $(seq 1 30); do docker info >/dev/null 2>&1 && break || sleep 2 done docker info + + # بررسی وجود cached images + echo "📊 Checking cached base images..." + docker images | grep -E "mcr.microsoft.com|nginx" || echo "⚠️ WARNING: Base images not cached!" - name: Checkout code run: | @@ -63,11 +49,10 @@ jobs: - name: Build Docker Image run: | cd src - docker build -f FrontOffice.Main/Dockerfile \ + # استفاده از cached base images (بدون دانلود) + DOCKER_BUILDKIT=0 docker build -f FrontOffice.Main/Dockerfile \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest \ - --build-arg HTTP_PROXY=http://proxyuser:87zH26nbqT2@46.249.98.211:3128 \ - --build-arg HTTPS_PROXY=http://proxyuser:87zH26nbqT2@46.249.98.211:3128 \ . @@ -77,14 +62,11 @@ jobs: docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest - - name: Deploy to Kubernetes + - name: Build and Push Complete run: | - # Setup kubeconfig - mkdir -p ~/.kube - echo "${{ secrets.KUBECONFIG }}" | base64 -d > ~/.kube/config - - # Restart deployment to pull new image - kubectl rollout restart deployment/frontoffice || echo "Deployment doesn't exist yet" - - # Wait for rollout to complete - kubectl rollout status deployment/frontoffice --timeout=5m || echo "Deployment rollout pending" + echo "🎉 Build and push completed successfully!" + echo "📦 Image pushed to: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}" + echo "📦 Latest tag: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest" + echo "" + echo "🚀 To deploy manually on server:" + echo "kubectl set image deployment/frontoffice frontoffice=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}" diff --git a/.gitea/workflows/prod-deploy.yml b/.gitea/workflows/prod-deploy.yml index 8e4feb9..fdcc1b0 100644 --- a/.gitea/workflows/prod-deploy.yml +++ b/.gitea/workflows/prod-deploy.yml @@ -7,7 +7,11 @@ on: env: REGISTRY: gitea-svc:3000 +<<<<<<< HEAD EXTERNAL_REGISTRY: 194.5.195.53:30080 +======= + EXTERNAL_REGISTRY: git.kbs1.ir +>>>>>>> production IMAGE_NAME: admin/frontoffice jobs: @@ -21,19 +25,23 @@ jobs: HTTPS_PROXY: http://proxyuser:87zH26nbqT2@46.249.98.211:3128 NO_PROXY: localhost,127.0.0.1,gitea-svc,45.149.79.127,194.5.195.53,10.0.0.0/8 steps: - - name: Install dependencies - run: | - apk add --no-cache git curl - curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" - chmod +x kubectl - mv kubectl /usr/local/bin/ + # - name: Install dependencies + # run: | + # apk add --no-cache git curl + # curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" + # chmod +x kubectl + # mv kubectl /usr/local/bin/ - name: Start Docker daemon run: | mkdir -p /etc/docker cat > /etc/docker/daemon.json << 'DAEMON' { +<<<<<<< HEAD "insecure-registries": ["194.5.195.53:30080", "gitea-svc:3000"] +======= + "insecure-registries": ["194.5.195.53:32082", "git.kbs1.ir", "gitea-svc:3000"] +>>>>>>> production } DAEMON mkdir -p ~/.docker @@ -63,8 +71,6 @@ jobs: -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:prod \ -t ${{ env.EXTERNAL_REGISTRY }}/${{ env.IMAGE_NAME }}:prod \ - --build-arg HTTP_PROXY=http://proxyuser:87zH26nbqT2@46.249.98.211:3128 \ - --build-arg HTTPS_PROXY=http://proxyuser:87zH26nbqT2@46.249.98.211:3128 \ . - name: Push to Registry diff --git a/src/FrontOffice.Main/Dockerfile b/src/FrontOffice.Main/Dockerfile index db75fe3..0320861 100644 --- a/src/FrontOffice.Main/Dockerfile +++ b/src/FrontOffice.Main/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +FROM 194.5.195.53:32082/dotnet/sdk:9.0 AS build WORKDIR /src # Copy NuGet config and project file @@ -16,7 +16,7 @@ WORKDIR "/src/FrontOffice.Main" RUN dotnet publish "FrontOffice.Main.csproj" -c Release -o /app/publish # Runtime stage - aspnet for Blazor Server -FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime +FROM 194.5.195.53:32082/dotnet/aspnet:9.0 AS runtime WORKDIR /app COPY --from=build /app/publish . diff --git a/src/FrontOffice.Main/NuGet.config b/src/FrontOffice.Main/NuGet.config index 81da29b..4861568 100644 --- a/src/FrontOffice.Main/NuGet.config +++ b/src/FrontOffice.Main/NuGet.config @@ -1,11 +1,18 @@ - + + + + + + + +