Todas as coleções

Aplicando alterações

Depois de editar os arquivos desmembrados em um workspace de branch, você compila essas edições de volta para o Bubble com buildprint apply. Este guia cobre o lado de gravação do fluxo: enviar as alterações locais para o Bubble, trazer o snapshot mais recente do Bubble de volta com buildprint sync e comparar duas branches com buildprint changelog.

O fluxo natural é:

buildprint check   # validate your edits
buildprint apply   # push them to Bubble

Execute buildprint sync sempre que o app Bubble puder ter sido alterado por baixo do seu trabalho (veja Quando sincronizar). A validação é abordada em uma página separada; aqui buildprint check é mencionado apenas como a etapa que precisa passar antes de você aplicar.

buildprint apply

buildprint apply envia as alterações locais do workspace da branch atual para o Bubble e as registra no Buildprint. Ele exige um buildprint check completo, recente e bem-sucedido para o estado atual do workspace (a menos que --force-apply seja usado), executa novamente a verificação interna por padrão e faz commit automaticamente de qualquer edição ainda não aplicada antes de aplicar.

buildprint apply
buildprint apply my-app main

Execute-o de dentro de um workspace de branch. Ambos os argumentos são opcionais:

  • [appId] - ID do app no Bubble. Por padrão, usa o app do app.json do workspace. Se for fornecido, deve corresponder ao app do workspace.

  • [branch] - Nome da branch. Por padrão, usa a branch git atual. Se for fornecido, deve corresponder à branch em que o workspace está.

O que uma aplicação bem-sucedida faz

  • Verifica se o snapshot do Bubble sincronizado mais recente foi mesclado ao seu workspace. Se não tiver sido, a aplicação para e pede para você executar buildprint sync primeiro, para que você não sobrescreva alterações mais novas do editor do Bubble com arquivos locais desatualizados.

  • Exige um buildprint check completo, novo e bem-sucedido (a menos que --force-apply seja usado) e, em seguida, executa novamente a passagem de verificação interna (a menos que --no-check seja usado).

  • Faz commit automaticamente de quaisquer edições do workspace ainda não commitadas na árvore de trabalho da branch antes de aplicar.

  • Compila o diff local e envia as alterações para o Bubble, registrando-as no Buildprint.

  • Avança refs/published/<branch> (o ponteiro de "último commit aplicado com sucesso ao Bubble") para o HEAD do workspace e atualiza o commit local do snapshot do Bubble para a branch.

Aplicar imprime uma linha de resultado em JSON informando o app, a branch, os segundos decorridos e o número de alterações aplicadas. Se não houver nada para aplicar, ele relata unchanged.

Sinalizadores

  • --no-check - Ignora a nova execução da passagem interna buildprint check. Ainda é necessário um buildprint check completo, novo e bem-sucedido, a menos que --force-apply seja usado.

  • --allow-large-apply - Permite aplicar quando a base local do Bubble é pequena e o workspace é substancial. Use isso apenas quando você tiver clonado intencionalmente uma base pequena e estiver enviando um volume grande de trabalho. Caso contrário, uma aplicação grande indica um possível problema na aplicação.

  • --force-apply - Ignora a frescura da verificação, a validação interna e as proteções contra aplicações grandes antes de aplicar. Isso pula as proteções acima; não use isso para contornar um erro de "snapshot not merged", já que aplicar arquivos locais desatualizados pode sobrescrever alterações mais novas do editor do Bubble.

Se a aplicação informar que você está fora de sincronia

Se o Bubble tiver mudado desde a sua última sincronização, a aplicação se recusa a continuar e aponta você para buildprint sync. Sincronize, resolva qualquer mesclagem e então aplique novamente:

buildprint sync
buildprint apply

buildprint sync

buildprint sync busca o snapshot mais recente do Bubble para a branch atual e o mescla ao seu workspace. Ele atualiza refs/bubble/<branch> (o último snapshot do Bubble sincronizado) e o mescla ao seu HEAD local, para que suas edições fiquem sobre o estado atual do Bubble.

buildprint sync
buildprint sync status
buildprint sync --no-merge
buildprint sync --reset
buildprint sync --allow-suspicious-shrink

Execute-o de dentro de um workspace de branch.

Quando sincronizar

Sincronize antes de continuar trabalhando sempre que o app Bubble puder ter avançado abaixo do seu workspace, em especial:

  • Alguém editou o app no editor do Bubble. Essas edições ficam invisíveis para o seu workspace até você sincronizar, e o próximo apply seria bloqueado ou poderia sobrescrever o trabalho dessa pessoa. Sincronize primeiro para trazer as alterações dela.

  • buildprint apply informou que o workspace está fora de sincronia ou que o snapshot mais recente ainda não foi mesclado.

  • Você está começando uma sessão nova em uma branch que não mexe há algum tempo.

Se a mesclagem tiver conflitos, a sincronização para e pede para você resolvê-los com git status / editar / git add / git commit, ou para executar buildprint sync --reset --confirm para descartar o trabalho local e alinhar com o Bubble.

Sinalizadores

  • --no-merge - Atualiza apenas o snapshot local do Bubble; ignora a mesclagem para o HEAD. Use isso para buscar o snapshot mais recente sem tocar na sua árvore de trabalho por enquanto.

  • --allow-suspicious-shrink - Permite substituir um snapshot local substancial do Bubble por uma exportação pequena obtida. A sincronização impede isso por padrão, pois normalmente indica uma exportação ruim.

  • --reset - Explica como redefinir este workspace de branch para o snapshot mais recente do Bubble. Isso apaga as alterações locais, então requer confirmação; execute buildprint sync --reset --confirm para realmente descartar o trabalho local e alinhar a branch com o Bubble. Não pode ser combinado com --no-merge.

buildprint sync status

buildprint sync status mostra como seu workspace se relaciona com o snapshot mais recente do Bubble obtido, sem mudar nada:

buildprint sync status

Ele imprime a branch, o commit do snapshot mais recente do Bubble obtido (refs/bubble/<branch>), o HEAD do seu workspace e quantos arquivos locais foram alterados, o último estado do Buildprint aplicado e uma recomendação como "execute buildprint sync para mesclar" ou "execute buildprint sync --reset para descartar o trabalho local e alinhar com o Bubble".

buildprint changelog

buildprint changelog cria um changelog local legível entre dois workspaces de branch do Buildprint. Execute-o de dentro da raiz de um app.

buildprint changelog staging feature-x
buildprint changelog staging feature-x --output changelog.md
buildprint changelog live test --json

Ambos os argumentos são obrigatórios:

  • <sourceBranch> - Workspace da branch de origem.

  • <targetBranch> - Workspace da branch de destino.

Se uma branch comparada ainda não tiver sido clonada, buildprint changelog prepara o workspace dela para você antes de gerar o diff. Ele falha apenas se nenhuma das branches existir.

Por padrão, ele imprime o changelog em Markdown. Sinalizadores:

  • --json - Imprime o relatório do changelog como JSON em vez de Markdown.

  • -o, --output <path> - Grava a saída do changelog em um arquivo. O caminho deve ficar fora dos dois workspaces de branch comparados; um caminho relativo é resolvido em relação à raiz do app.

Isso foi útil?