Atualizar OpenDataBio
Instruções seguras para atualizar instalações do OpenDataBio
3 minute read
Use esta página para a sequência comum de implantação. Antes de atualizar, leia
o arquivo UPGRADES_NOTES.md
da versão de destino do OpenDataBio. Ele é a fonte oficial para requisitos,
permissões de armazenamento, migrações, preenchimentos e comandos de reparo
específicos da versão; essas instruções não são repetidas aqui.
Antes de começar
- Leia
UPGRADES_NOTES.mde as notas da versão de destino. Anote todos os testes preliminares e comandos pós-migração antes de começar. - Faça backup de pelo menos:
- Dump do banco de dados
.env- Toda a árvore
storage/app, incluindo mídias, exportações geradas e os arquivos persistentes das versões de datasets
- Compare as configurações atuais com os modelos/configurações da versão de destino:
.envcom.env.example(incluindoASSET_URL)- Configuração do Supervisor (
/etc/supervisor/conf.d/opendatabio-worker.confou equivalente no contêiner) - Configuração do PHP (
php.inide CLI e FPM/Apache)
- Planeje uma janela de manutenção para o ambiente de produção.
Atualização (instalação Apache ou nginx)
- Coloque a aplicação em modo de manutenção:
cd /home/odbserver/opendatabio
php artisan down
- Atualize o código-fonte:
git fetch --tags
git checkout <target-tag-or-branch>
- Instale as dependências e execute as migrações:
composer install --no-dev --optimize-autoloader
php artisan migrate:status
php artisan migrate --force
- Execute, na ordem documentada, os comandos pós-migração indicados no
UPGRADES_NOTES.mdda versão de destino. Alguns comandos enviam UserJobs em segundo plano; mantenha a aplicação em manutenção e acompanhe-os até o fim quando as notas assim exigirem. - Recompile os assets do frontend após mudanças no
.env(obrigatório quandoASSET_URLmudar):
npm ci
npm run build
- Limpe o cache e reinicie os workers:
php artisan optimize:clear
php artisan config:cache
php artisan queue:restart
systemctl restart supervisor.service
# Reinicie o servidor web e o PHP-FPM conforme a sua instalação.
- Verifique a aplicação, os workers, os logs e as operações citadas nas notas de atualização; depois coloque a aplicação online novamente:
php artisan up
Atualização (instalação Docker)
- Atualize o código-fonte:
cd opendatabio
git fetch --tags
git checkout <target-tag-or-branch>
- Reconstrua e reinicie os contêineres:
make stop
make build
make start
- Instale as dependências e execute as migrações:
make composer-install
make migrate
- Execute dentro do contêiner da aplicação, na ordem documentada, os comandos
pós-migração do
UPGRADES_NOTES.mdda versão de destino e acompanhe os UserJobs enviados por eles. - Recompile os assets do frontend após mudanças no
.env(obrigatório quandoASSET_URLmudar):
npm run build
- Limpe o cache e reinicie os workers:
make optimize
docker compose exec -T -u www-data laravel php artisan queue:restart
Variáveis de ambiente
Compare .env com o .env.example da versão de destino antes de compilar
assets ou armazenar configurações em cache. Siga UPGRADES_NOTES.md para
variáveis cujo valor ou significado mudou; em produção, confira
APP_FORCE_HTTPS e ASSET_URL.
Estratégia de rollback
Se algo falhar depois das migrações:
- Mantenha o modo de manutenção ativo.
- Restaure o banco, o
.enve o backup correspondente destorage/app. Os registros do banco e os arquivos das versões de datasets devem ser restaurados como um único snapshot. - Retorne para a tag estável anterior.
- Reinstale as dependências/reconstrua os contêineres e valide os logs antes de
php artisan up.