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:
- 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.
- Backup: todo arquivo que o pacote toca é copiado à parte e o banco de dados é despejado.
- Modo de manutenção: o site mostra a tela de manutenção.
- Cópia: os arquivos são gravados.
- Migrações: para o core e para todo módulo instalado.
- Caches: config, rotas, views e OPcache são limpos.
- Verificação: todo arquivo gravado é conferido contra o hash no manifesto.
- 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.zipa 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.