diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 0bed22e..990e1cc 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -59,12 +59,9 @@ jobs: # Aguardar 5 segundos para o servidor Nginx iniciar sleep 5 - # ========================================== + # ========================================== # ETAPA 3: DAST - TESTE DINÂMICO (OWASP ZAP) # ========================================== - - # Ataca a Sandbox usando a rede interna do Docker (--link) e o nome do container. - # O parâmetro "-I" garante que a pipeline NÃO falha devido a avisos (warnings). - name: OWASP ZAP Baseline Scan run: | # Criamos as pastas necessárias no runner @@ -72,7 +69,10 @@ jobs: mkdir -p /tmp/zap-share chmod 777 /tmp/zap-share - # Corremos o ZAP apontando o volume para /tmp/zap-share (que o Docker físico aceita sem falhas) + # LIMPEZA PREVENTIVA: Remove o container zap-scanner de execuções passadas, se existir + docker rm -f zap-scanner || true + + # Corremos o ZAP apontando o volume para /tmp/zap-share docker run --name zap-scanner \ --link website-test-sandbox:website-test-sandbox \ -v /tmp/zap-share:/zap/wrk/:rw \ @@ -84,16 +84,10 @@ jobs: # Copiamos o relatório gerado na pasta partilhada para a pasta qatests do runner cp /tmp/zap-share/report.html qatests/report.html - # Limpamos o container e os ficheiros temporários para deixar o servidor limpo - docker rm -f zap-scanner + # Limpamos o container e os ficheiros temporários no final + docker rm -f zap-scanner || true rm -rf /tmp/zap-share - # Garante que a Sandbox é desmantelada mesmo que o passo do ZAP falhe - - name: Destruir Sandbox - if: always() - run: | - docker rm -f website-test-sandbox || true - # ========================================== # ETAPA 4: DEPLOY EM PRODUÇÃO (SÓ SE TUDO PASSAR) # ==========================================