# Atualização via GIT
Olá, amigos terráqueos.
Use esse artigo com muita sabedoria para disseminar todos os problemas de sua vida atualizando seu SNEP 3.06.02 para a versão novissíma em folha do SNEP, também conhecida como "essa versão só tem no bitbucket, fala com o dev".
Itens que você vai precisar:
- Horário de downtime
Converse com o cliente ANTES porfavor. Agende essa atualização, afinal de contas, a central pode ficar indisponível para uso.
Cada ambiente tem sua particularidade, em alguns o processo vai demorar 15 minutos, em outros 2 horas, cabe a você, ó grande analista, checar isso e se posicionar com o cliente. Conto contigo!
- Noções básicas sobre GIT
Você não precisa ser o rei do DevOps, muito menos o próprio Torvalds, só precisa saber o que está fazendo e qual a mágica está sendo utilizada. Se prepare para este processo, use estes links para te ajudar.
Pra quem gosta de ler: -----> GIT Primeiros passos (opens new window)
Pra quem gosta de ouvir: -----> Lambda3 Podcast 3 – Git (opens new window)
Pra quem gosta de ver e ouvir: -----> Curso de Git para iniciantes - Aula 1 (opens new window)
Pra quem não sabe o que quer: -----> Você está na profissão certa? Faça o teste e descubra (opens new window)
- Calma e confiança
Pode parecer sacanagem ou alguma outra pegadinha, mas não. Ter calma para executar o procedimento e "confiar no próprio taco" são duas coisas beeeem importantes nesse ponto. Preciso que você saiba da complexidade do ambiente que está mexendo, de tudo que o cliente espera e de como esse processo NÃO pode ser traumático pra ele.
- Backup
Deus faz milagre, sysadmin backup. Não despreze as leis de Murph, tenha consigo um bom backup e não terás problema. Lembre-se, antes do rm
vale bastante um mv
.
Banco de dados então, esse nem se fala, faça até 3 backups distintos para evitar riscos. O que não vale é ficar a madrugada refazendo central por um * (asterisco) no lugar errado.
- Permissão e acesso ao bitbucket
Esse passo é tranquilo, você precisa ter sua conta criada e com permissão para fazer download do branch develop na conta da Opens.
Caso ainda não tenha conta, entre em contato com o time de engenharia para providenciar o quanto antes.
Sem mais delongas, confio em ti!
# Cenário
- Debian 8 e adjacentes
- SNEP versão 3.06
- Storage com gravações
# Hands ON
Instale o GIT no servidor do cliente.
nem preciso falar que você precisa checar todos os repositórios, né?
apt-get update && apt-get install git
Por segurança, pare o Asterisk e desmonte o storage de gravação.
Lembre-se de checar qual o dispositivo usando o df -h
e o fdisk -l
.
No nosso caso, usarei como exemplo o /dev/sdb1.
/etc/init.d/asterisk stop
umount /dev/sdb1
Vá até o diretório padrão do apache e mova o diretório atual do SNEP para bkp, assim:
cd /var/www/html/
mv snep/ snep-bkp
Faça agora, download do SNEP usando o comando GIT:
Nota: Informe seu usuário e senha do bitbucket.
git clone --recursive -b master https://bitbucket.org/snepdev/snep-3
Renomei o diretório que foi baixado de snep-3 para snep:
IMPORTANTE: NÃO REMOVA, DEPOIS VAMOS PRECISAR DO DIRETÓRIO ARQUIVOS.
mv snep-3/ snep/
Faça os updates de versão. Use usuário snep, como abaixo e aquela senha padrão do banco:
mysql -usnep -p snep < snep/install/database/update/3.07/update.sql
mysql -usnep -p snep -e "ALTER TABLE peers ADD COLUMN blf VARCHAR(3) DEFAULT NULL;"
Crie os diretórios para os arquivos de som:
mkdir -p /var/www/html/snep/sounds
cd /var/www/html/snep/sounds/
ln -sf /var/lib/asterisk/moh/ moh
ln -sf /var/lib/asterisk/sounds/pt_BR/ pt_BR
Feito os updates de banco e criado os diretórios, vamos ceder as permissões necessárias ao SNEP:
cd ../..
find . -type f -exec chmod 640 {} \; -exec chown www-data:www-data {} \;
find . -type d -exec chmod 755 {} \; -exec chown www-data:www-data {} \;
chmod +x /var/www/html/snep/agi/*
Pode ser que esse passo demore um pouco, mantenha a calma, está tudo bem.
Mova as gravações da antiga pasta arquivos para a nova:
cd /var/www/html/
mv snep-bkp/arquivos/* snep/arquivos/.
Crie a nova pasta storage1 e monte o disco novamente:
mkdir snep/arquivos/storage1
mount -a
Acesse seu novo SNEP, faça todos os testes necessários e seja feliz.
Deixe seu like, curta esse video e se inscreve no canal. Vamos bater meta de like pessoal.