Skip to content

refactor: simplificar deploy da documentação #10

refactor: simplificar deploy da documentação

refactor: simplificar deploy da documentação #10

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}}"