Atualizar OpenDataBio
Instrucoes seguras para atualizar instalacoes do OpenDataBio
2 minute read
Use este guia para atualizar uma instalacao existente do OpenDataBio com o minimo de indisponibilidade.
Antes de comecar
- Leia as notas da versao de destino e confirme se ha mudancas que exigem atencao.
- Faca backup de pelo menos:
- Dump do banco de dados
.envstorage/app/public/media
- Compare as configuracoes atuais com os modelos/configs da versao alvo:
.envcom.env.example(incluindoASSET_URL)- Configuracao do Supervisor (
/etc/supervisor/conf.d/opendatabio-worker.confou equivalente no container) - Configuracao do PHP (
php.inide CLI e FPM/Apache)
- Planeje uma janela de manutencao para ambiente de producao.
Atualizacao (instalacao Apache ou nginx)
- Coloque a aplicacao em modo manutencao:
cd /home/odbserver/opendatabio
php artisan down
- Atualize o codigo-fonte:
git fetch --tags
git checkout <target-tag-or-branch>
- Instale dependencias e rode as migracoes:
composer install --no-dev --optimize-autoloader
php artisan migrate:status
php artisan migrate --force
- Recompile os assets frontend apos mudancas no
.env(obrigatorio quandoASSET_URLmuda):
npm ci #talvez precise disso antes
npm run build
- Limpe cache e log e reinicie os workers:
php artisan optimize:clear
php artisan config:cache
php artisan queue:restart
systemctl restart supervisor.service, nginx+phpfpm or apache, mysql or mariadb
echo "" > storage/logs/laravel.log
echo "" > storage/logs/supervisor.log
- Coloque a aplicacao online novamente:
php artisan up
Atualizacao (instalacao Docker)
- Atualize o codigo-fonte:
cd opendatabio
git fetch --tags
git checkout <target-tag-or-branch>
- Reconstrua e reinicie os containers:
make stop
make build
make start
- Instale dependencias e rode as migracoes:
make composer-install
make migrate
- Recompile os assets frontend apos mudancas no
.env(obrigatorio quandoassets_urlmuda):
npm run build
- Limpe cache e reinicie os workers:
make optimize
docker compose exec -T -u www-data laravel php artisan queue:restart
Variaveis de ambiente
Se a nova versao adicionar variaveis de ambiente, compare .env com .env.example e adicione as chaves faltantes antes de asset/cache/restart em producao.
Estrategia de rollback
Se algo falhar depois das migracoes:
- Mantenha o modo manutencao ativo.
- Restaure backup do banco e do
.env. - Retorne para a tag anterior estavel.
- Reinstale dependencias/reconstrua containers e valide logs antes de
php artisan up.