Visão geral
Ativando builds diferenciais
Ative o controle
Ative o controle build diferencial. A descrição diz: “Builds mais rápidos ao reutilizar workspaces inalterados.”
Como funciona
1. Encontrar uma build pai
success ou partial) para usar como build pai. Se não houver uma build pai válida, a build recorre automaticamente a uma build completa.
2. Comparar blueprints
3. Atribuir ações aos workspaces
| Ação | O que acontece | Quando é usada |
|---|---|---|
| Reconstruir | Clonar o repo e executar todas as etapas do blueprint (initialize + maintenance) do zero | O blueprint mudou desde o build pai |
| Herdar | Baixar o código mais recente e executar apenas as etapas de maintenance | O blueprint não foi alterado — reutilize a configuração do pai |
| Remover | Excluir o workspace do snapshot | O workspace foi removido da configuração |
Para workspaces herdados,
initialize não é executado novamente. Escreva maintenance
de modo que seja autossuficiente e possa ser executado de forma independente depois que o código mais recente
for baixado. Ele pode usar tools e runtimes já instalados no snapshot pai,
mas não deve exigir que initialize seja executado imediatamente antes nem depender de
variáveis de ambiente que initialize tenha gravado anteriormente em $ENVRC.4. Execute o build
- Workspaces herdados já têm suas ferramentas, runtimes e dependências instalados. O sistema atualiza o código para a versão mais recente (
git pull) e executa os comandos demaintenancepara atualizar as dependências. - Workspaces reconstruídos são configurados do zero — clonados novamente e passam pela sequência completa de
initialize+maintenance. - Workspaces removidos têm seus diretórios limpos.
initialize durante build diferencial (já que essas ferramentas já estão presentes na imagem pai) e executam apenas maintenance.
$ENVRC é redefinido no início de todo build, incluindo build diferencial.
Variáveis de ambiente e entradas de PATH gravadas em $ENVRC por um build
anterior não são herdadas. Se maintenance precisar delas, deverá configurá-las
por conta própria.Quando o sistema executa um build completo
- Não existe build pai — é o primeiro build ou todos os builds anteriores falharam
- O blueprint da organização ou Enterprise mudou — mudanças globais afetam todos os workspaces, então um rebuild limpo é mais seguro
- A ordem dos repositórios mudou — como os repos podem depender da configuração uns dos outros, mudar a ordem aciona um rebuild completo
- O build pai é antigo demais ou incompatível — o sistema valida se o build pai é adequado
Como visualizar o tipo de build
- Vá para Configurações > Ambiente > Snapshots
- Clique em uma build no histórico
- O selo Tipo de build mostra Diferencial (azul) ou build completo (padrão)
- Diferencial: “Somente os workspaces alterados são reconstruídos; os que não foram alterados são herdados da última build bem-sucedida com a mesma configuração”
- build completo: “Todos os workspaces são criados do zero”
Benefícios
| Benefício | Descrição |
|---|---|
| Builds mais rápidos | Apenas os workspaces alterados passam pelo processo completo de configuração. Os workspaces herdados pulam initialize completamente. |
| Menor uso de rede | Os workspaces inalterados não baixam novamente ferramentas, runtimes nem dependências grandes. |
| Iteração mais rápida | Ao iterar no blueprint de um único repositório, os outros repositórios não deixam o build mais lento. |
| Mesma confiabilidade | Se algo parecer errado, o sistema recorre automaticamente a um build completo. Você também pode acionar manualmente um build completo a qualquer momento. |
Acionando manualmente um build completo
initialize e maintenance.
Perguntas frequentes
Ativar builds diferenciais afeta minhas sessões?
Ativar builds diferenciais afeta minhas sessões?
Não. As sessões sempre são iniciadas a partir do snapshot final, independentemente de como ele foi gerado. A única diferença é a velocidade do build.
E se um build diferencial gerar um snapshot ruim?
E se um build diferencial gerar um snapshot ruim?
Fixe uma build anterior comprovadamente estável em Configurações > Ambiente > Snapshots e, em seguida, acione uma build completa para obter um snapshot limpo. Você também pode desativar totalmente os builds diferenciais para voltar às builds completas.
Builds parciais podem ser usados como pais?
Builds parciais podem ser usados como pais?
Sim. Uma build com status
partial (alguns workspaces foram concluídos com sucesso, outros falharam) pode servir como pai. O sistema herda apenas dos workspaces que foram bem-sucedidos na build pai.
