Ir para o conteúdo
Bondry

Atualizações

Entenda os canais de lançamento, a instalação de atualizações e as regras de acesso a novas versões.

As atualizações chegam como pacotes assinados que o Bondry verifica antes de aplicar. Todo o fluxo vive em System > Updates.

A checagem#

Uma vez por dia a tarefa agendada pergunta ao servidor de licença quais versões existem para o seu produto, o seu canal e a sua versão atual. Se uma mais nova está disponível, o painel mostra um aviso que você pode dispensar por versão.

A checagem só lista versões publicadas dentro da sua janela de updates. Tudo o que foi lançado enquanto a janela estava aberta continua disponível para você para sempre, mesmo depois que ela fecha.

Canais#

Canal Para quem é
stable Todo mundo. O padrão.
beta Quem quer a próxima versão antes e pode arcar com um bug.

O canal é uma configuração em System > Updates. Trocar para beta numa comunidade de produção não é recomendado.

O que o atualizador faz#

Quando você aplica um update, nesta ordem:

  1. Verificação prévia: a versão nova é maior que a atual, a versão atual está na mínima exigida pelo pacote ou acima dela, a versão do PHP é compatível, os arquivos têm permissão de escrita e há espaço em disco.
  2. Backup: todo arquivo que o pacote toca é copiado à parte e o banco de dados é despejado.
  3. Modo de manutenção: o site mostra a tela de manutenção.
  4. Cópia: os arquivos são gravados.
  5. Migrações: para o core e para todo módulo instalado.
  6. Caches: config, rotas, views e OPcache são limpos.
  7. Verificação: todo arquivo gravado é conferido contra o hash no manifesto.
  8. De volta ao ar.

Se algo falha depois do backup, o atualizador restaura os arquivos e o banco de dados e deixa você na versão de onde partiu. Toda execução é registrada no histórico de updates, passo a passo.

O que ele recusa#

Um pacote é rejeitado se a assinatura não verifica, se o hash de algum arquivo não bate, ou se algum caminho nele é absoluto, contém .., ou cai fora dos diretórios que um update tem permissão de tocar. .env, storage/, public/uploads/ e bootstrap/cache/ nunca são gravados por um update.

Hosts sem rede de saída#

Duas formas de contornar isso:

  • baixe o pacote da sua conta e envie ele em System > Updates, que roda exatamente a mesma verificação;
  • rode php artisan bondry:update --file=/path/to/package.zip a partir de um terminal, útil quando a requisição web expiraria num update grande.

Quando a janela fecha#

Você mantém o direito de usar as versões licenciadas e baixar as publicadas no seu período de atualizações. Uma extensão opcional libera novas versões. A biblioteca online do Designer exige uma licença elegível do núcleo ou do Designer com atualizações vigentes.

Uma extensão acrescenta 365 dias a partir do vencimento atual ou da data da compra, o que ocorrer por último. Renovar antes preserva o tempo restante; renovar após o vencimento inicia um novo período de 365 dias na data da compra.

Warning Atualize o core antes dos módulos. Um módulo declara a versão do core de que precisa, e instalar um módulo feito para um core mais novo o deixa desativado até o core alcançá-lo.