diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index da1066d..4ea80a9 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -67,3 +67,37 @@ jobs: docker push git.viaeon.com/admin/sale:${{ github.ref_name }} 2>&1 echo "Pushing latest..." docker push git.viaeon.com/admin/sale:latest 2>&1 + + deploy: + name: Deploy to Server + runs-on: act-runner-4c6g + needs: build-and-push + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' + + steps: + - name: Install SSH client + run: | + if ! command -v ssh &> /dev/null; then + if command -v apk &> /dev/null; then + apk add --no-cache openssh-client + elif command -v apt-get &> /dev/null; then + apt-get update && apt-get install -y openssh-client + fi + fi + + - name: Setup SSH key + run: | + mkdir -p ~/.ssh + echo "${{ secrets.DEPLOY_KEY }}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts 2>/dev/null || true + + - name: Deploy to server + run: | + ssh -o StrictHostKeyChecking=no ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} << 'EOF' + cd ${{ secrets.DEPLOY_PATH }} + docker compose pull + docker compose down + docker compose up -d + docker image prune -f + EOF