1919jobs :
2020 deploy :
2121 runs-on : self-hosted
22- # Só roda se não for uma tag (para não duplicar em releases)
23- if : |
24- contains(github.event.head_commit.message, '[skip deploy]') == false ||
25- github.event_name == 'workflow_dispatch' ||
26- github.event_name == 'workflow_run'
2722 timeout-minutes : 30
2823
2924 steps :
30- - name : Checkout
25+ - name : Checkout documentation
3126 uses : actions/checkout@v4
27+ with :
28+ repository : edsonmartins/archbase-app-documentation
29+ path : docs-site
30+ token : ${{ secrets.GITHUB_TOKEN }}
3231
3332 - name : Setup Node.js
3433 uses : actions/setup-node@v4
@@ -40,50 +39,16 @@ jobs:
4039 with :
4140 version : 9
4241
43- - name : Checkout documentation
44- uses : actions/checkout@v4
45- with :
46- repository : edsonmartins/archbase-app-documentation
47- path : docs-site
48- token : ${{ secrets.GITHUB_TOKEN }}
49-
50- - name : Install dependencies
51- working-directory : ./docs-site
52- run : pnpm install --frozen-lockfile
53-
54- - name : Build docs
55- working-directory : ./docs-site
56- run : |
57- export NODE_OPTIONS=--max_old_space_size=8192
58- pnpm run build
59-
60- - name : Prepare Docker build context
61- run : |
62- # Criar diretório temporário para o build
63- mkdir -p docker-build-context
64- # Copiar arquivos buildados (incluindo arquivos ocultos)
65- rsync -av --delete docs-site/build/ docker-build-context/
66- # Copiar nginx.conf
67- cp deployment/docs/nginx.conf docker-build-context/
68- # Verificar o que foi copiado
69- echo "=== Arquivos copiados ==="
70- ls -la docker-build-context/
71- echo "=== Assets ==="
72- ls -la docker-build-context/assets/ || echo "pasta assets não encontrada"
73-
7442 - name : Build Docker image
43+ working-directory : ./docs-site
7544 run : |
76- # Build da imagem (sem timestamp para não acumular tags)
77- docker build \
78- -t archbase-java-docs:latest \
79- -f deployment/docs/Dockerfile \
80- docker-build-context
45+ docker build -t archbase-java-docs:latest .
8146
8247 - name : Deploy to Docker Swarm
8348 run : |
8449 # Copiar docker-compose para local persistente
8550 sudo mkdir -p /opt/archbase-infrastructure
86- sudo cp deployment /docker-compose.vps .yml /opt/archbase-infrastructure/docker-compose.yml
51+ sudo cp docs-site /docker-compose.stack .yml /opt/archbase-infrastructure/docker-compose.yml
8752
8853 # Recrear stack com nova versão (Docker Swarm)
8954 cd /opt/archbase-infrastructure
@@ -92,24 +57,16 @@ jobs:
9257 # Forçar atualização do serviço
9358 docker service update archbase-java_frontend --force
9459
95- - name : Cleanup old Docker images
60+ - name : Cleanup
9661 run : |
97- # Remover todas as tags antigas de archbase-java-docs (exceto latest)
98- docker images archbase-java-docs --format "{{.Tag}}" | \
99- grep -E "^[0-9]+$" | \
100- xargs -I {} docker rmi archbase-java-docs:{} 2>/dev/null || true
101-
102- # Remover imagens dangling (<none>)
62+ # Remover imagens dangling
10363 docker images -f "dangling=true" -q | xargs -r docker rmi -f 2>/dev/null || true
10464
105- - name : Docker system prune
106- run : |
107- # Remover imagens não usadas, containers parados e cache de build
108- docker image prune -a -f
109- docker container prune -f
110- docker system prune -a -f
111- # Exibir uso de disco após limpeza
112- echo "=== Uso de disco após limpeza ==="
113- df -h /var/lib/docker
114- echo "=== Imagens restantes ==="
65+ # Docker system prune
66+ docker system prune -f
67+
68+ # Exibir uso de disco
69+ echo "=== Uso de disco ==="
70+ df -h /
71+ echo "=== Imagens ==="
11572 docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"
0 commit comments