refactor: simplificar deploy da documentação #10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Docs to VPS | |
| # Workflow para deploy automatizado da documentação na VPS | |
| on: | |
| workflow_dispatch: # Disparado manualmente | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'docs/**' | |
| - 'deployment/**' | |
| - '.github/workflows/deploy-docs-vps.yml' | |
| workflow_run: | |
| workflows: ["Publish to Maven Central"] | |
| types: | |
| - completed | |
| branches: [main] | |
| jobs: | |
| deploy: | |
| runs-on: self-hosted | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout documentation | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: edsonmartins/archbase-app-documentation | |
| path: docs-site | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v2 | |
| with: | |
| version: 9 | |
| - name: Build Docker image | |
| working-directory: ./docs-site | |
| run: | | |
| docker build -t archbase-java-docs:latest . | |
| - name: Deploy to Docker Swarm | |
| run: | | |
| # Copiar docker-compose para local persistente | |
| sudo mkdir -p /opt/archbase-infrastructure | |
| sudo cp docs-site/docker-compose.stack.yml /opt/archbase-infrastructure/docker-compose.yml | |
| # Recrear stack com nova versão (Docker Swarm) | |
| cd /opt/archbase-infrastructure | |
| docker stack deploy -c docker-compose.yml archbase-java | |
| # Forçar atualização do serviço | |
| docker service update archbase-java_frontend --force | |
| - name: Cleanup | |
| run: | | |
| # Remover imagens dangling | |
| docker images -f "dangling=true" -q | xargs -r docker rmi -f 2>/dev/null || true | |
| # Docker system prune | |
| docker system prune -f | |
| # Exibir uso de disco | |
| echo "=== Uso de disco ===" | |
| df -h / | |
| echo "=== Imagens ===" | |
| docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}" |