add VBS MAVEN
parent
37cea28ff7
commit
699cac973d
|
|
@ -21,50 +21,53 @@ case $service in
|
|||
1|VentaBoletosServidor)
|
||||
echo -e " "
|
||||
echo -e "Opção \"1 - VentaBoletosServidor\" foi escolhida..."
|
||||
echo -e " ^^^^^^^^^^^^^^^^^^^^^^^^^ "
|
||||
sleep 2
|
||||
echo -e " "
|
||||
echo -e "Listando clientes neste server..."
|
||||
echo -e "-------------------------------------------------"
|
||||
echo -e "$listaclientes"
|
||||
echo -e "-------------------------------------------------"
|
||||
echo -e " "
|
||||
read -p "COPIE e COLE ou digite qual cliente será atualizado: " cliente
|
||||
echo -e " "
|
||||
portconf=$(cat /dados/$cliente/standalone/configuration/standalone.xml | grep "jboss.socket.binding.port-offset" | cut -d ":" -f 2 | tr -d '}">')
|
||||
portapp=$(expr $portconf + 8080)
|
||||
sleep 1
|
||||
versaoatual=$(curl -L -s http://$IPPRIV:$portapp/VentaBoletosServidor | grep VBS)
|
||||
echo -e " "
|
||||
echo -e "A versão atual do VentaBoletosServidor de $cliente é: "
|
||||
echo -e " "
|
||||
echo -e "###############################"
|
||||
echo -e "$versaoatual"
|
||||
echo -e "###############################"
|
||||
echo -e " "
|
||||
echo -e "Abaixo, informe seu usuario e senha do Jenkins..."
|
||||
read -p "Informe o NÚMERO da NOVA versão do VentaBoletosServidor: " versaovta
|
||||
echo -e " "
|
||||
if [ "$versaovta" -ge 6500 ]; then
|
||||
echo -e "Abaixo, informe seu usuario e senha do Jenkins Totalbus..."
|
||||
echo -e " "
|
||||
echo -e " ############################################ "
|
||||
echo -e " https://jenkinstotalbus.rjconsultores.com.br "
|
||||
echo -e " ############################################ "
|
||||
echo -e " "
|
||||
read -p "Digite seu USUÁRIO do Jenkins: " userj
|
||||
read -p "Digite seu USUÁRIO do Jenkins Totalbus: " userj
|
||||
echo -e " "
|
||||
read -s -p "Digite sua SENHA do Jenkins: " passj
|
||||
read -s -p "Digite sua SENHA do Jenkins Totalbus: " passj
|
||||
echo -e " "
|
||||
echo -e "Validando usuario e senha..."
|
||||
echo -e " "
|
||||
validj=$(curl -s -w "%{http_code}" -su "$userj:$passj" -o /dev/null "https://jenkinstotalbus.rjconsultores.com.br" ; echo)
|
||||
if [[ "$validj" -eq 200 ]]; then
|
||||
echo "Usuário e senha validado com sucesso!"
|
||||
elif [[ "$validj" -eq 401 ]]; then
|
||||
echo -e "Usuário ou senha incorretos."
|
||||
echo -e "Tente novamente..."
|
||||
exit 0
|
||||
else
|
||||
echo "Erro ao tentar logar. Código HTTP: $validj"
|
||||
echo -e "Finalizando script."
|
||||
exit 1
|
||||
fi
|
||||
echo -e " "
|
||||
read -p "Informe o NÚMERO da versão do VentaBoletosServidor: " versaovta
|
||||
echo -e " "
|
||||
if [[ "$validj" -eq 200 ]]; then
|
||||
echo "Usuário e senha validado com sucesso!"
|
||||
elif [[ "$validj" -eq 401 ]]; then
|
||||
echo -e "Usuário ou senha incorretos."
|
||||
echo -e "Tente novamente..."
|
||||
exit 0
|
||||
else
|
||||
echo "Erro ao tentar logar. Código HTTP: $validj"
|
||||
echo -e "Finalizando script."
|
||||
exit 1
|
||||
fi
|
||||
echo -e " "
|
||||
sleep 3
|
||||
listvta=$(curl https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20VentaBoletosServidor/$versaovta/artifact/dist/ -su $userj:$passj | grep -oP '(?<=href=")[^"]+\.war(?=")')
|
||||
if [ -z "$listvta" ]; then
|
||||
|
|
@ -157,7 +160,136 @@ case $service in
|
|||
echo -e " "
|
||||
echo -e "##############F-I-N-A-L-I-Z-A-D-O!!!##################################"
|
||||
exit 0
|
||||
|
||||
else
|
||||
echo "A versão digitada foi "$versaovta"..."
|
||||
echo " "
|
||||
echo -e "###################"
|
||||
echo -e "...versão do Maven "
|
||||
echo -e "###################"
|
||||
sleep 2
|
||||
echo -e " "
|
||||
echo -e "Abaixo, informe seu usuario e senha do Jenkins VENTA..."
|
||||
echo -e " ^^^^^^^ ^^^^^ "
|
||||
echo -e " "
|
||||
sleep 1
|
||||
echo -e "###########################################"
|
||||
echo -e " https://jenkinsventa.rjconsultores.com.br "
|
||||
echo -e "###########################################"
|
||||
echo -e " "
|
||||
read -p "Digite seu USUÁRIO do Jenkins VENTA: " userj
|
||||
echo -e " "
|
||||
read -s -p "Digite sua SENHA do Jenkins VENTA: " passj
|
||||
echo -e " "
|
||||
echo -e "Validando usuario e senha..."
|
||||
validj=$(curl -s -w "%{http_code}" -su "$userj:$passj" -o /dev/null "https://jenkinsventa.rjconsultores.com.br" ; echo)
|
||||
if [[ "$validj" -eq 200 ]]; then
|
||||
echo "Usuário e senha validado com sucesso!"
|
||||
elif [[ "$validj" -eq 401 ]]; then
|
||||
echo -e "Usuário ou senha incorretos."
|
||||
echo -e "Tente novamente..."
|
||||
exit 0
|
||||
else
|
||||
echo "Erro ao tentar logar. Código HTTP: $validj"
|
||||
echo -e "Finalizando script."
|
||||
exit 1
|
||||
fi
|
||||
echo -e " "
|
||||
sleep 1
|
||||
echo -e "Baixando VentaBoletosServidor do Maven versão "$versaovta" ..."
|
||||
echo -e " "
|
||||
# Codifica os colchetes na URL
|
||||
JENKINS_API_URL="https://jenkinsventa.rjconsultores.com.br/job/Vendas/job/ServidorVendas/job/Totalbus-Servidor-Build/api/json?tree=builds%5Bnumber,description,displayName%5D"
|
||||
# Baixa o JSON autenticado
|
||||
RESPONSE=$(curl -u "$userj:$passj" -s "$JENKINS_API_URL")
|
||||
[ ! -x "$(which jq)" ] && sudo apt install jq -y # JQ instalado?
|
||||
# Usa 'test' para buscar displayName que contenha a versão (mais tolerante com aspas extras)
|
||||
DESCRIPTION=$(echo "$RESPONSE" | jq -r \
|
||||
--arg versaovta "$versaovta" \
|
||||
'.builds[] | select(.displayName | test($versaovta)) | .description' | head -n1)
|
||||
if [ -z "$DESCRIPTION" ] || [ "$DESCRIPTION" == "null" ]; then
|
||||
echo "Versão '$versaovta' não encontrada no Jenkins."
|
||||
exit 1
|
||||
fi
|
||||
# Extrai a URL do WAR do campo description
|
||||
WAR_URL=$(echo "$DESCRIPTION" | grep -oP "a href='\K[^']+")
|
||||
if [ -z "$WAR_URL" ]; then
|
||||
echo "Link para o WAR não encontrado no campo description."
|
||||
exit 1
|
||||
fi
|
||||
# Baixa o arquivo
|
||||
ARQUIVO=$(basename "$WAR_URL")
|
||||
#echo "Baixando WAR: $ARQUIVO"
|
||||
curl -u "$userj:$passj" -L -o /tmp/"$ARQUIVO" "$WAR_URL"
|
||||
echo -e " "
|
||||
echo -e "***Iniciando backup do "VentaBoletosServidor.war" de " $cliente " ..."
|
||||
echo -e " "
|
||||
portconf=$(cat /dados/$cliente/standalone/configuration/standalone.xml | grep "socket-binding-group name" | cut -d ":" -f 2 | tr -d '}">')
|
||||
portconsole=$(expr $portconf + 9990)
|
||||
sleep 1
|
||||
time=$(date +%d-%m-%Y-%H-%M)
|
||||
mkdir -p /dados/bkp_VTA/$cliente-$time
|
||||
bkp=/dados/bkp_VTA/$cliente-$time
|
||||
export JAVA_HOME=/dados/jdk-11.0.5
|
||||
/dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands="attachment save --operation=/deployment=VentaBoletosServidor.war:read-content() --file=$bkp/VentaBoletosServidor.war"
|
||||
sleep 1
|
||||
echo -e " "
|
||||
echo -e "Iniciando atualização de "VentaBoletosServidor" do cliente "$cliente" para versão "$versaovta"..."
|
||||
/dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands="deployment deploy-file --replace /tmp/VentaBoletosServidor.war"
|
||||
echo -e " "
|
||||
sleep 5
|
||||
echo -e "reiniciando $cliente ... "
|
||||
systemctl restart $cliente
|
||||
echo -e " "
|
||||
URL="http://$IPPRIV:$portapp"
|
||||
while true; do
|
||||
STATUS_CODE=$(curl -o /dev/null -s -w "%{http_code}" "$URL")
|
||||
if [ "$STATUS_CODE" -eq 200 ]; then
|
||||
echo -e "--------------------------------------------------"
|
||||
echo -e "Restart finalizado!!! $cliente NO AR!!!"
|
||||
echo -e "--------------------------------------------------"
|
||||
break
|
||||
else
|
||||
echo -e "aguardando $cliente subir ..."
|
||||
fi
|
||||
sleep 5
|
||||
done
|
||||
echo -e " "
|
||||
logt=$(date +%d-%m-%Y)
|
||||
echo -e "Gravando log da atualização em "/dados/$cliente/standalone/log/atualizacao_$logt.log" ..."
|
||||
feito=$(echo -e $userj | tr a-z A-Z)
|
||||
versaonova=$(curl -L -s http://$IPPRIV:$portapp/VentaBoletosServidor | grep VBS)
|
||||
echo -e " "
|
||||
echo -e "Atualização do cliente "$cliente" para versão "$versaonova" concluída!!! "
|
||||
echo -e " "
|
||||
echo -e "
|
||||
----------------------------------------------------------------------------------
|
||||
- Atualização ***VentaBoletosServidor - MAVEN***
|
||||
- Data/Hora: "$time"
|
||||
- Atualizando cliente: "$cliente"
|
||||
- Versão antiga: "$versaoatual"
|
||||
- Versão NOVA: *** "$versaonova" - MAVEN ***
|
||||
- Arquivo baixado: "$vtaescolhido"
|
||||
- Backup salvo em "$bkp/VentaBoletosServidor.war"
|
||||
- Endereço: $URL/VentaBoletosServidor
|
||||
- Console: http://$IPPRIV:$portconsole
|
||||
- Feito por: "$feito"
|
||||
##################################################################################
|
||||
#- Em caso de Rollback execute o comando abaixo:
|
||||
export JAVA_HOME=/dados/jdk-11.0.5 && /dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands=\"deployment deploy-file --replace $bkp/VentaBoletosServidor.war\"
|
||||
##################################################################################
|
||||
----------------------------------------------------------------------------------" >> /dados/$cliente/standalone/log/atualizacao_$logt.log
|
||||
echo -e "- Versão antiga: "$versaoatual""
|
||||
echo -e " "
|
||||
echo -e "- Nova Versão: "$versaonova""
|
||||
echo -e " "
|
||||
echo -e "- Endereço: $URL/VentaBoletosServidor"
|
||||
echo -e " "
|
||||
echo -e "- Console: http://$IPPRIV:$portconsole"
|
||||
echo -e " "
|
||||
echo -e "##############F-I-N-A-L-I-Z-A-D-O!!!##################################"
|
||||
fi
|
||||
exit 0
|
||||
|
||||
;;
|
||||
|
||||
2|EventosExtrasServidor)
|
||||
|
|
|
|||
Loading…
Reference in New Issue