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 BubbleExecute 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 mainExecute-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 doapp.jsondo 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 syncprimeiro, para que você não sobrescreva alterações mais novas do editor do Bubble com arquivos locais desatualizados.Exige um
buildprint checkcompleto, novo e bem-sucedido (a menos que--force-applyseja usado) e, em seguida, executa novamente a passagem de verificação interna (a menos que--no-checkseja 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 internabuildprint check. Ainda é necessário umbuildprint checkcompleto, novo e bem-sucedido, a menos que--force-applyseja 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 applybuildprint 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-shrinkExecute-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
applyseria bloqueado ou poderia sobrescrever o trabalho dessa pessoa. Sincronize primeiro para trazer as alterações dela.buildprint applyinformou 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; executebuildprint sync --reset --confirmpara 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 statusEle 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 --jsonAmbos 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.