Entrega do Frontend (CDN)

O frontend principal (fuji-web) é entregue a um repositório GitHub usado como CDN, com um fluxo de promoção que nunca reconstrói o artefato entre ambientes.

Repositório do CDN

O repositório do CDN é multi-projeto: hospeda, em caminhos distintos, o frontend principal (fuji + admin + auth) e também loja, alunos e outros — cada projeto promovido de forma independente, restrita aos seus próprios caminhos.

Branches

Branch Papel

main

Ambiente de desenvolvimento. O job deploy builda o projeto e publica o artefato (dist/) direto nesta branch.

prod

Produção. O job promote (disparado por tag) não builda novamente — reaproveita os artefatos já validados em main (git checkout origin/main — <caminhos do projeto>) e regenera apenas a configuração (conf.json) a partir do conf-template.json da própria branch prod.

Princípio de CI/CD adotado: a promoção para produção nunca reconstrói o artefato. A tag/gate de promoção aplica exatamente os mesmos artefatos já construídos e validados em desenvolvimento — reconstruir na promoção quebraria a garantia de "promover o que foi testado" (dependências resolvidas em outro momento, timestamps diferentes, etc).

Configuração por ambiente

conf.json/conf-template.json diferem por branch (endpoints e variáveis de API distintos entre dev e prod). Por isso a promoção preserva o template já existente na branch prod, em vez de copiar o conf.json de main.