-
Notifications
You must be signed in to change notification settings - Fork 0
Deploy
O Figgo possui dois ambientes de execução: http://www.oggif.com.br e http://www.figgo.com.br.
Para liberar uma nova versão deve ser feito primeiro um deploy para o Ambiente de Staging, verificado o funcionamento dos recursos básicos da aplicação e então feito o deploy pra Produção.
Desta forma sempre que uma nova versão entrar em Produção, ela deve ser a ultima versão do Stagging. Pode-se efetuar deploys no ambiente de Staging sempre que for necessário testar/avaliar uma versão/funcionalidade.
O branch release deve conter sempre a ultima versão em produção. Sempre que um hotfix for gerado para uma versão em produção este deve ser feito no master e então feito cherry-pick para o branch release (caso o branch master contenha outras mudanças que ainda não estejam prontas para entrar em produção) ou um rebase como indicado a seguir.
Após realizar os passos a seguir, é necessário fazer push do branch para o repositório remoto, contudo, muitas vezes, devido ao rebase é preciso forcar a atualização:
git push origin release --force
git checkout release
git rebase master
Esta opção adiciona todos os commits do master ao branch release. Em geral ao efetuar esta operação ocorre um conflito com o arquivo version, em geral para resolvê-lo basta:
git add version
git rebase --continue
git checkout release
git cherry-pick <SHA-commit_to_pick>
No branch releases você encontrará um script chamado deploy.sh, este script ajudará no processo de deploy. Antes de executá-lo é necessário definir a variável de ambiente GAE_JAVA_HOME apontando para o diretório de instalação do Google App Engine SDK.
GAE_JAVA_HOME=/usr/lib/gae-sdk/java ./deploy.sh
GAE_JAVA_HOME=/usr/lib/gae-sdk/java ./deploy.sh --app figgo-octa
Sempre que os índices forem modificados é necessário mandar reconstruir os índices e remover os antigos. Em geral um índice precisa ser modificado quando alguma Query que utiliza ordenação específica, ou que fazem comparação de diferentes valores, é alterada. Consulte a documentação do [https://developers.google.com/appengine/docs/java/config/indexconfig](Google App Engine) para mais detalhes.
Após alterar os índices os mesmos devem ser atualizados: (Staging)
mvn clean war:exploded
appcfg.sh -A dev_figgo update_indexes target/deploy
appcfg.sh -A dev_figgo vacuum_indexes target/deploy
(Produção)
mvn clean war:exploded
appcfg.sh -A figgo-octa update_indexes target/deploy
appcfg.sh -A figgo-octa vacuum_indexes target/deploy
Sempre que um dos Models tiver um atributo adicionado, removido ou modificado (mudança de tipos) é necessário realizar uma migração, ou seja, modificar os dados existentes para incluir/remover/modificar o atributo em questão.
TBD