From 021cb81125289d26cd9c41252560e0c3d11b8ff1 Mon Sep 17 00:00:00 2001 From: cat-shark <1716967236@qq.com> Date: Sun, 19 Jul 2026 19:27:50 +0800 Subject: [PATCH] fix: Alpine compatibility - apk, docker login, /tmp/kubeconfig --- .gitea/workflows/deploy.yml | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 696771a..558af31 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -23,13 +23,16 @@ jobs: - name: Checkout code run: | git clone $REPO_URL . - git checkout ${{ github.sha }} + git checkout ${{ gitea.sha }} + + - name: Login to Docker Registry + run: | + echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login $REGISTRY -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin - name: Build & Push Docker image run: | - apt-get update -qq - apt-get install -y -qq docker.io - TAG=${{ github.sha }} + apk add --no-cache docker-cli + TAG=${{ gitea.sha }} docker build \ --build-arg BUILD_MODE=${{ inputs.environment == 'prod' && 'production' || 'development' }} \ -t $REGISTRY/$APP:$TAG \ @@ -39,14 +42,20 @@ jobs: - name: Setup kubectl run: | - curl -sLO "https://dl.k8s.io/release/v1.36.0/bin/linux/amd64/kubectl" + apk add --no-cache curl + curl -sLO "https://dl.k8s.io/release/v1.30.0/bin/linux/amd64/kubectl" chmod +x kubectl mv kubectl /usr/local/bin/ - mkdir -p ~/.kube - echo "${{ secrets.KUBECONFIG_B64 }}" | base64 -d > ~/.kube/config + echo "${{ secrets.KUBECONFIG_B64 }}" | base64 -d > /tmp/kubeconfig - name: Deploy to K8s run: | - TAG=${{ github.sha }} - kubectl set image deployment/$APP $APP=$REGISTRY/$APP:$TAG -n lpt-${{ inputs.environment }} - kubectl rollout status deployment/$APP -n lpt-${{ inputs.environment }} + TAG=${{ gitea.sha }} + kubectl --kubeconfig=/tmp/kubeconfig set image deployment/$APP $APP=$REGISTRY/$APP:$TAG -n lpt-${{ inputs.environment }} --record + kubectl --kubeconfig=/tmp/kubeconfig rollout status deployment/$APP -n lpt-${{ inputs.environment }} --timeout=5m + + - name: Rollback on failure + if: failure() + run: | + kubectl --kubeconfig=/tmp/kubeconfig rollout undo deployment/$APP -n lpt-${{ inputs.environment }} + kubectl --kubeconfig=/tmp/kubeconfig rollout status deployment/$APP -n lpt-${{ inputs.environment }}