chore: expoe o Storybook em /storybook em dev #61

Merged
jhony75 merged 1 commit from chore/storybook-dev-access into develop 2026-09-10 20:21:41 -03:00
Owner

Pedido do usuario: poder acessar o Storybook em dev.

Avaliei duas abordagens: (a) sub-path /storybook dentro do proprio container do frontend, (b) subdominio dedicado espelhando o servico documentation ja existente (STORYBOOK_DOMAIN/IMAGE novos, mexe em deploy-remote.sh). Usuario escolheu (a) -- menor mudanca, zero env var nova, zero mudanca em compose.yaml/deploy-remote.sh.

  • frontend/Dockerfile: npm run build-storybook roda junto do build normal; o resultado (storybook-static/) e copiado pra /usr/share/nginx/html/storybook na imagem final.
  • frontend/nginx.conf: nova rota /storybook/ (com redirect de /storybook sem barra), mesmo dominio/auth do resto do app -- confirmei que o build do Storybook usa paths relativos (./sb-manager/...), entao servir num sub-path funciona sem configuracao extra.
  • frontend/src/components/DevTools.tsx: novo link "Abrir Storybook" ao lado do link de Swagger ja existente, apontando pra window.location.origin (origem do proprio frontend, nao a API).
  • .forgejo/workflows/ci.yml: adiciona um step build-storybook explicito no job de Frontend -- antes disso, nada em CI rodava esse build (nem havia teste pra Metrics.tsx, que tambem usa recharts); sem esse step, um Storybook quebrado so falharia tarde, no docker build do job de publicacao.

Nao consegui validar rodando o container de verdade (Docker Desktop nao estava disponivel no ambiente da sessao) -- o docker build ./frontend do job de publicacao desta PR e a validacao real. Revisao de codigo confirma que o Storybook usa paths relativos, o que torna o sub-path seguro.

Pedido do usuario: poder acessar o Storybook em dev. Avaliei duas abordagens: (a) sub-path `/storybook` dentro do proprio container do frontend, (b) subdominio dedicado espelhando o servico `documentation` ja existente (STORYBOOK_DOMAIN/IMAGE novos, mexe em deploy-remote.sh). Usuario escolheu (a) -- menor mudanca, zero env var nova, zero mudanca em compose.yaml/deploy-remote.sh. - `frontend/Dockerfile`: `npm run build-storybook` roda junto do build normal; o resultado (`storybook-static/`) e copiado pra `/usr/share/nginx/html/storybook` na imagem final. - `frontend/nginx.conf`: nova rota `/storybook/` (com redirect de `/storybook` sem barra), mesmo dominio/auth do resto do app -- confirmei que o build do Storybook usa paths relativos (`./sb-manager/...`), entao servir num sub-path funciona sem configuracao extra. - `frontend/src/components/DevTools.tsx`: novo link "Abrir Storybook" ao lado do link de Swagger ja existente, apontando pra `window.location.origin` (origem do proprio frontend, nao a API). - `.forgejo/workflows/ci.yml`: adiciona um step `build-storybook` explicito no job de Frontend -- antes disso, nada em CI rodava esse build (nem havia teste pra `Metrics.tsx`, que tambem usa recharts); sem esse step, um Storybook quebrado so falharia tarde, no `docker build` do job de publicacao. Nao consegui validar rodando o container de verdade (Docker Desktop nao estava disponivel no ambiente da sessao) -- o `docker build ./frontend` do job de publicacao desta PR e a validacao real. Revisao de codigo confirma que o Storybook usa paths relativos, o que torna o sub-path seguro.
chore: expoe o Storybook em /storybook (mesmo container do frontend)
All checks were successful
EEG QA CI / Backend (pull_request) Successful in 1m23s
EEG QA CI / Frontend (pull_request) Successful in 2m42s
EEG QA CI / Build e publicação de imagens (pull_request) Successful in 2m34s
EEG QA CI / Deploy production (pull_request) Has been skipped
EEG QA CI / Deploy development (pull_request) Has been skipped
EEG QA CI / Detectar o que mudou (pull_request) Successful in 12s
2e042837bc
npm run build-storybook passa a rodar junto do build do frontend
(Dockerfile) e o resultado e servido em /storybook pelo mesmo nginx --
mesmo dominio/auth do app, sem rota nova no Traefik nem env var nova.
Link "Abrir Storybook" adicionado em Dev Tools, ao lado do link de
Swagger ja existente. CI ganha um step "build-storybook" explicito no
job de Frontend (antes so rodava, sem gate, no docker build do job de
publicacao) -- assim um Storybook quebrado falha rapido, nao so tarde
no build da imagem de deploy.
jhony75 merged commit 0570598827 into develop 2026-09-10 20:21:41 -03:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jhony75/eeg-qa!61
No description provided.