Repository navigation
Deploy pacotes
Os formatos pacote e estatico empacotam arquivos selecionados em um bundle determinístico. A candidata registra formato, nome, tamanho e SHA-256 do bundle, além do caminho, tamanho e SHA-256 de cada arquivo em manifesto.json. manifesto.sha256 fixa os bytes do manifesto. Repetir o build com a mesma entrada gera os mesmos bytes.
Promover um pacote de aplicação ou conjunto de arquivos estáticos sem reconstruir o conteúdo entre candidata, staging e produção. O alvo personalizado recebe o manifesto verificado e decide como instalá-lo.
A pessoa mantenedora escolhe [deploy].artefato = "pacote" ou "estatico", configura caminhos_artefato e define os scripts do alvo personalizado.
O build do projeto deve gerar os caminhos declarados antes da criação da candidata. Caminhos absolutos, traversal e symlinks são recusados. Scripts de build e deploy não recebem credenciais de publicação.
- A esteira executa o comando de build com ambiente mínimo, sem
GH_TOKEN, tokens de Actions, chaves AWS ou segredos do projeto. - O framework seleciona os arquivos, cria
candidata/artefato.tar.gz,candidata/manifesto.jsonecandidata/manifesto.sha256e calcula os hashes SHA-256. - A candidata é armazenada como artefato da execução. A validação confere formato, caminhos, manifesto, bundle e conteúdo de cada membro.
- A release candidata publica os mesmos bytes e hashes. Staging valida o manifesto antes de passar seu caminho aos scripts
migrarepublicardo alvo. - Produção baixa os assets da candidata aprovada, verifica os hashes e entrega o manifesto ao script de promoção. Não há novo build.
- Rollback baixa a versão escolhida e confere manifesto e bundle antes de entregá-los ao script
voltar; o framework não desfaz migrações do projeto.
Manifesto alterado, sidecar incorreto, bundle corrompido, membro extra/ausente, caminho inseguro, symlink, tamanho incompatível ou hash divergente bloqueiam a etapa antes do script do projeto.
Build sem arquivos correspondentes, pacote com mais de um arquivo, manifesto fora do schema, arquivo duplicado, arquivo ausente ou conteúdo divergente bloqueiam a execução. A promoção não reconstrói ou substitui artefatos.
O alvo personalizado recebe apenas variáveis públicas nomeadas em variaveis_personalizado; segredos de publicação são usados por passos confiáveis do framework e não chegam ao build ou aos scripts do projeto. Aprovação e ambiente de produção mantêm os portões existentes.
Uma candidata imutável e verificável por SHA-256, identificada por manifesto que acompanha os mesmos bytes em staging, promoção e rollback. Formatos e alvo AWS ainda não implementados permanecem indisponíveis no catálogo.
Versão 2.0.1 · código documentado 9c73feb3e357a1216011eaf64bf4b5d944827087 · Wiki com histórico Git separado. A proposta e a base da Wiki são registradas no manifesto .bigbang-docs.json e no PR correspondente. Índice.