diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 462f388..0bed22e 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -67,22 +67,26 @@ jobs: # O parâmetro "-I" garante que a pipeline NÃO falha devido a avisos (warnings). - name: OWASP ZAP Baseline Scan run: | - # Criamos a pasta local onde o runner espera encontrar o relatório + # Criamos as pastas necessárias no runner mkdir -p qatests + mkdir -p /tmp/zap-share + chmod 777 /tmp/zap-share - # Corremos o ZAP sem mapear volumes. Damos-lhe apenas um nome (--name) para o podermos aceder a seguir. + # Corremos o ZAP apontando o volume para /tmp/zap-share (que o Docker físico aceita sem falhas) docker run --name zap-scanner \ --link website-test-sandbox:website-test-sandbox \ + -v /tmp/zap-share:/zap/wrk/:rw \ -t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py \ -t http://website-test-sandbox \ -r report.html \ -I || true - # Copiamos o relatório diretamente de dentro do container do ZAP para a nossa pasta local do runner! - docker cp zap-scanner:/zap/wrk/report.html qatests/report.html + # 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 do ZAP para não deixar lixo no servidor + # Limpamos o container e os ficheiros temporários para deixar o servidor limpo docker rm -f zap-scanner + rm -rf /tmp/zap-share # Garante que a Sandbox é desmantelada mesmo que o passo do ZAP falhe - name: Destruir Sandbox