367 lines
20 KiB
Bash
Executable File
367 lines
20 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
echo -e "####################################################"
|
|
echo -e "#Este script atualiza WILDFLY com: "
|
|
echo -e "# "
|
|
echo -e "# - VentaBoletosServidor"
|
|
echo -e "# - EventosExtrasServidor"
|
|
echo -e "# - TareasAgendadas"
|
|
echo -e "# - VentaBoletosClientes"
|
|
echo -e "# "
|
|
echo -e "####################################################"
|
|
echo -e " "
|
|
sleep 1
|
|
IPPRIV=$(hostname -I | awk '{ print $1 }')
|
|
listaclientes=$(ls /etc/systemd/system/ | grep ^wild* | sort | cut -d "." -f 1)
|
|
read -p "DIGITE ou COPIE e COLE o que vai atualizar: " service
|
|
case $service in
|
|
VentaBoletosServidor)
|
|
echo -e "Opção "VentaBoletosServidor" foi escolhida..."
|
|
echo -e " "
|
|
echo -e "Listando clientes neste server..."
|
|
echo -e "-------------------------------------------------"
|
|
echo -e "$listaclientes"
|
|
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)
|
|
echo -e "A porta da aplicação é: $portapp"
|
|
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..."
|
|
echo -e " "
|
|
echo -e " https://jenkinstotalbus.rjconsultores.com.br "
|
|
echo -e " "
|
|
read -p "Digite seu USUÁRIO do Jenkins: " userj
|
|
echo -e " "
|
|
read -s -p "Digite sua SENHA do Jenkins: " 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 " "
|
|
sleep 1
|
|
echo -e "Listando arquivos disponíveis da versão ***" $versaovta "***"
|
|
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(?=")')
|
|
echo -e "--------------------------------------------"
|
|
echo -e "$listvta"
|
|
echo -e "--------------------------------------------"
|
|
echo -e " "
|
|
read -p "COPIE e COLE ou digite qual arquivo listado vai ser utilizado: " vtaescolhido
|
|
echo -e " "
|
|
echo -e "Baixando $vtaescolhido versão $versaovta ..."
|
|
rm -rf /tmp/VentaBoletosServidor.war
|
|
curl -u $userj:$passj -o /tmp/$vtaescolhido https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20VentaBoletosServidor/$versaovta/artifact/dist/$vtaescolhido
|
|
echo -e " "
|
|
mv /tmp/$vtaescolhido /tmp/VentaBoletosServidor.war
|
|
echo -e " "
|
|
sleep 1
|
|
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)
|
|
echo -e "A porta da console é: $portconsole"
|
|
sleep 1
|
|
time=$(date +%Y-%m-%d-%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 "Atualização do cliente "$cliente" para versão "$versaovta" concluída!!! "
|
|
echo -e " "
|
|
echo -e "##############F-I-N-A-L-I-Z-A-D-O!!!##################################"
|
|
exit 0
|
|
|
|
;;
|
|
|
|
EventosExtrasServidor)
|
|
echo -e "Opção "EventosExtrasServidor" foi escolhida..."
|
|
echo -e " "
|
|
echo -e "Listando clientes neste server..."
|
|
echo -e "-------------------------------------------------"
|
|
echo -e "$listaclientes"
|
|
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)
|
|
echo -e "A porta da aplicação é: $portapp"
|
|
sleep 1
|
|
versaoatual=$(curl -L -s http://$IPPRIV:$portapp/EventosExtrasServidor | grep EES)
|
|
echo -e " "
|
|
echo -e "A versão atual do EventosExtrasServidor de $cliente é: "
|
|
echo -e " "
|
|
echo -e "###############################"
|
|
echo -e " $versaoatual"
|
|
echo -e "###############################"
|
|
echo -e " "
|
|
echo -e "Abaixo, informe seu usuario e senha do Jenkins..."
|
|
echo -e " "
|
|
echo -e " https://jenkinstotalbus.rjconsultores.com.br "
|
|
echo -e " "
|
|
read -p "Digite seu USUÁRIO do Jenkins: " userj
|
|
echo -e " "
|
|
read -s -p "Digite sua SENHA do Jenkins: " 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 EventosExtrasServidor: " versaoees
|
|
echo -e " "
|
|
sleep 1
|
|
echo -e "Listando arquivos disponíveis da versão ***" $versaoees "***"
|
|
echo -e " "
|
|
sleep 3
|
|
listees=$(curl https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20EventosExtrasServidor/$versaoees/artifact/dist/ -su $userj:$passj | grep -oP '(?<=href=")[^"]+\.war(?=")')
|
|
echo -e "--------------------------------------------"
|
|
echo -e "$listees"
|
|
echo -e "--------------------------------------------"
|
|
echo -e " "
|
|
read -p "COPIE e COLE ou digite qual arquivo listado vai ser utilizado: " eesescolhido
|
|
echo -e " "
|
|
echo -e "Baixando $eesescolhido versão $versaoees ..."
|
|
rm -rf /tmp/EventosExtrasServidor.war
|
|
curl -u $userj:$passj -o /tmp/$eesescolhido https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20EventosExtrasServidor/$versaoees/artifact/dist/$eesescolhido
|
|
echo -e " "
|
|
mv /tmp/$eesescolhido /tmp/EventosExtrasServidor.war
|
|
echo -e " "
|
|
sleep 1
|
|
echo -e "***Iniciando backup do "EventosExtrasServidor.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)
|
|
echo -e "A porta da console é: $portconsole"
|
|
sleep 1
|
|
time=$(date +%Y-%m-%d-%H-%M)
|
|
mkdir -p /dados/bkp_EES/$cliente-$time
|
|
bkp=/dados/bkp_EES/$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=EventosExtrasServidor.war:read-content() --file=$bkp/EventosExtrasServidor.war"
|
|
sleep 1
|
|
echo -e " "
|
|
echo -e "Iniciando atualização de "EventosExtrasServidor" do cliente "$cliente" para versão "$versaoees"..."
|
|
/dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands="deployment deploy-file --replace /tmp/EventosExtrasServidor.war"
|
|
echo -e " "
|
|
sleep 5
|
|
echo -e "Atualização do cliente "$cliente" para versão "$versaoees" concluída!!! "
|
|
echo -e " "
|
|
echo -e "##############F-I-N-A-L-I-Z-A-D-O!!!##################################"
|
|
exit 0
|
|
;;
|
|
|
|
TareasAgendadas)
|
|
echo -e "Opção "TareasAgendadas" foi escolhida..."
|
|
echo -e " "
|
|
echo -e "Listando clientes neste server..."
|
|
echo -e "-------------------------------------------------"
|
|
echo -e "$listaclientes"
|
|
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)
|
|
echo -e "A porta da aplicação é: $portapp"
|
|
sleep 1
|
|
versaoatual=$(curl -L -s http://$IPPRIV:$portapp/TareasAgendadas | grep TAG)
|
|
echo -e " "
|
|
echo -e "A versão atual do TareasAgendadas de $cliente é: "
|
|
echo -e " "
|
|
echo -e "###############################"
|
|
echo -e " $versaoatual"
|
|
echo -e "###############################"
|
|
echo -e " "
|
|
echo -e "Abaixo, informe seu usuario e senha do Jenkins..."
|
|
echo -e " "
|
|
echo -e " https://jenkinstotalbus.rjconsultores.com.br "
|
|
echo -e " "
|
|
read -p "Digite seu USUÁRIO do Jenkins: " userj
|
|
echo -e " "
|
|
read -s -p "Digite sua SENHA do Jenkins: " 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 TareasAgendadas: " versaotar
|
|
echo -e " "
|
|
sleep 1
|
|
echo -e "Listando arquivos disponíveis da versão ***" $versaotar "***"
|
|
echo -e " "
|
|
sleep 3
|
|
listtar=$(curl https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20TareasAgendadas/$versaotar/artifact/dist/ -su $userj:$passj | grep -oP '(?<=href=")[^"]+\.war(?=")')
|
|
echo -e "--------------------------------------------"
|
|
echo -e "$listtar"
|
|
echo -e "--------------------------------------------"
|
|
echo -e " "
|
|
read -p "COPIE e COLE ou digite qual arquivo listado vai ser utilizado: " tarescolhido
|
|
echo -e " "
|
|
echo -e "Baixando $tarescolhido versão $versaotar ..."
|
|
rm -rf /tmp/TareasAgendadas.war
|
|
curl -u $userj:$passj -o /tmp/$tarescolhido https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20TareasAgendadas/$versaotar/artifact/dist/$tarescolhido
|
|
echo -e " "
|
|
mv /tmp/$tarescolhido /tmp/TareasAgendadas.war
|
|
echo -e " "
|
|
sleep 1
|
|
echo -e "***Iniciando backup do "TareasAgendadas.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)
|
|
echo -e "A porta da console é: $portconsole"
|
|
sleep 1
|
|
time=$(date +%Y-%m-%d-%H-%M)
|
|
mkdir -p /dados/bkp_TAR/$cliente-$time
|
|
bkp=/dados/bkp_TAR/$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=TareasAgendadas.war:read-content() --file=$bkp/TareasAgendadas.war"
|
|
sleep 1
|
|
echo -e " "
|
|
echo -e "Iniciando atualização de "TareasAgendadas" do cliente "$cliente" para versão "$versaotar"..."
|
|
/dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands="deployment deploy-file --replace /tmp/TareasAgendadas.war"
|
|
echo -e " "
|
|
sleep 5
|
|
echo -e "Atualização do cliente "$cliente" para versão "$versaotar" concluída!!! "
|
|
echo -e " "
|
|
echo -e "##############F-I-N-A-L-I-Z-A-D-O!!!##################################"
|
|
exit 0
|
|
;;
|
|
|
|
VentaBoletosClientes)
|
|
echo -e "Opção "VentaBoletosCliente" foi escolhida..."
|
|
echo -e " "
|
|
echo -e "Listando clientes neste server..."
|
|
echo -e "-------------------------------------------------"
|
|
echo -e "$listaclientes"
|
|
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)
|
|
echo -e "A porta da aplicação é: $portapp"
|
|
sleep 1
|
|
echo -e " "
|
|
echo -e "Abaixo, informe seu usuario e senha do Jenkins..."
|
|
echo -e " "
|
|
echo -e " https://jenkinstotalbus.rjconsultores.com.br "
|
|
echo -e " "
|
|
read -p "Digite seu USUÁRIO do Jenkins: " userj
|
|
echo -e " "
|
|
read -s -p "Digite sua SENHA do Jenkins: " 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 VentaBoletosCliente: " versaoclient
|
|
echo -e " "
|
|
sleep 1
|
|
echo -e "Listando arquivos disponíveis da versão ***" $versaoclient "***"
|
|
echo -e " "
|
|
sleep 3
|
|
listclient=$(curl https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20VentaBoletosCliente/$versaoclient/artifact/dist/ -su $userj:$passj | grep -oP '(?<=href=")[^"]+\.gz(?=")')
|
|
echo -e "--------------------------------------------"
|
|
echo -e "$listclient"
|
|
echo -e "--------------------------------------------"
|
|
echo -e " "
|
|
read -p "COPIE e COLE ou digite qual arquivo listado vai ser utilizado: " clientescolhido
|
|
echo -e " "
|
|
echo -e "Baixando $clientescolhido versão $versaoclient ..."
|
|
rm -rf /tmp/SCO.jar.pack.gz
|
|
curl -u $userj:$passj -o /tmp/$clientescolhido https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20VentaBoletosCliente/$versaoclient/artifact/dist/$clientescolhido
|
|
echo -e " "
|
|
mv /tmp/$clientescolhido /tmp/SCO.jar.pack.gz
|
|
echo -e " "
|
|
sleep 1
|
|
echo -e "***Iniciando backup do "SCO.jar.pack.gz" 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)
|
|
echo -e "A porta da console é: $portconsole"
|
|
sleep 1
|
|
time=$(date +%Y-%m-%d-%H-%M)
|
|
mkdir -p /dados/bkp_VBC/$cliente-$time
|
|
bkp=/dados/bkp_VBC/$cliente-$time
|
|
cp -rv /dados/$cliente/standalone/deployments/webstart.war/sco2/SCO.jar.pack.gz $bkp/SCO.jar.pack.gz
|
|
rm -rf /dados/$cliente/standalone/deployments/webstart.war/sco2/SCO.jar.pack.gz*
|
|
rm -rf /dados/$cliente/standalone/deployments/webstart.war/sco2/scopaf.conf*
|
|
sleep 1
|
|
echo -e " "
|
|
echo -e "Iniciando atualização de "VentaBoletosCliente" do cliente "$cliente" para versão "$versaoclient"..."
|
|
cp -rv /tmp/SCO.jar.pack.gz /dados/$cliente/standalone/deployments/webstart.war/sco2/
|
|
chown -Rf $cliente:$cliente /dados/$cliente/standalone/deployments/webstart.war/sco2/
|
|
echo -e " "
|
|
systemctl restart $cliente
|
|
sleep 5
|
|
echo -e "Atualização do cliente "$cliente" para versão "$versaoclient" concluída!!! "
|
|
echo -e " "
|
|
echo -e "##############F-I-N-A-L-I-Z-A-D-O!!!##################################"
|
|
exit 0
|
|
;;
|
|
|
|
|
|
*)
|
|
echo "Opção inválida, tente novamente."
|
|
exit 1 ;;
|
|
esac
|