Skip to content

Commit

Permalink
Ajuste no atualizador
Browse files Browse the repository at this point in the history
  • Loading branch information
rtenorioh committed Sep 23, 2024
1 parent 762f2dd commit 0a96ad8
Showing 1 changed file with 95 additions and 78 deletions.
173 changes: 95 additions & 78 deletions UPDATE.sh
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
#!/bin/bash
VERSION="1.7.3"
echo ""
echo "██████╗ ██████╗ ███████╗███████╗███████╗ ████████╗██╗ ██████╗██╗ ██╗███████╗████████╗"
echo "██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝ ╚══██╔══╝██║██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝"
echo "██████╔╝██████╔╝█████╗ ███████╗███████╗ ██║ ██║██║ █████╔╝ █████╗ ██║ "
echo "██╔═══╝ ██╔══██╗██╔══╝ ╚════██║╚════██║ ██║ ██║██║ ██╔═██╗ ██╔══╝ ██║ "
echo "██║ ██║ ██║███████╗███████║███████║ ██║ ██║╚██████╗██║ ██╗███████╗ ██║ "
echo "╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝ "
echo " "
echo -e "\e[92mATUALIZANDO PARA A VERSÃO:\e[0m \e[1m$VERSION\e[0m"
VERSION="v1.7.4"
LOG_FILE="update_$(date +"%Y-%m-%d_%H-%M-%S").log"

COLOR="\e[38;5;92m"
RESET="\e[0m"

echo -e "${COLOR}██████╗ ██████╗ ███████╗███████╗███████╗ ████████╗██╗ ██████╗██╗ ██╗███████╗████████╗${RESET}"
echo -e "${COLOR}██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝ ╚══██╔══╝██║██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝${RESET}"
echo -e "${COLOR}██████╔╝██████╔╝█████╗ ███████╗███████╗ ██║ ██║██║ █████╔╝ █████╗ ██║ ${RESET}"
echo -e "${COLOR}██╔═══╝ ██╔══██╗██╔══╝ ╚════██║╚════██║ ██║ ██║██║ ██╔═██╗ ██╔══╝ ██║ ${RESET}"
echo -e "${COLOR}██║ ██║ ██║███████╗███████║███████║ ██║ ██║╚██████╗██║ ██╗███████╗ ██║ ${RESET}"
echo -e "${COLOR}╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ${RESET}"
echo -e "\e[92mATUALIZANDO PARA A VERSÃO:\e[0m \e[1m$VERSION\e[0m" | tee -a "$LOG_FILE"
echo " "

sleep 2

echo " "
echo "VERIFICANDO A VERSÃO DO UPDATE"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "VERIFICANDO A VERSÃO DO UPDATE" | tee -a "$LOG_FILE"
echo " " | tee -a "$LOG_FILE"

sleep 2

Expand All @@ -28,135 +31,149 @@ TEMP_FILE=$(mktemp)
curl -s https://raw.githubusercontent.com/rtenorioh/Press-Ticket/main/UPDATE.sh >$TEMP_FILE

if [ $? -ne 0 ]; then
echo "$(date +"%Y-%m-%d %H:%M:%S") - Erro ao baixar o arquivo do GitHub: $TEMP_FILE" >>update.log
echo "Verifique sua conexão com a internet e as credenciais do GitHub."
exit 1 # Encerra o script com código de erro
echo "$(date +"%Y-%m-%d %H:%M:%S") - Erro ao baixar o arquivo do GitHub: $TEMP_FILE" | tee -a "$LOG_FILE"
echo "Verifique sua conexão com a internet e as credenciais do GitHub." | tee -a "$LOG_FILE"
exit 1
fi

REMOTE_VERSION=$(extract_version "$TEMP_FILE")

if [[ -z "$REMOTE_VERSION" || "$REMOTE_VERSION" > "$VERSION" ]]; then
echo "Versão remota é mais recente ou não foi encontrada. Atualizando..."
if [ -z "$REMOTE_VERSION" ] || [ "$REMOTE_VERSION" ] >"$VERSION"; then
echo "Versão remota é mais recente ou não foi encontrada. Atualizando..." | tee -a "$LOG_FILE"
cp "$TEMP_FILE" "$0"
"$TEMP_FILE"
echo "$(date +"%Y-%m-%d %H:%M:%S") - Script atualizado para a versão $REMOTE_VERSION" >>update.log
echo "$(date +"%Y-%m-%d %H:%M:%S") - Script atualizado para a versão $REMOTE_VERSION" | tee -a "$LOG_FILE"
else
echo "O script local está atualizado."
rm "$TEMP_FILE"
echo "O script local está atualizado." | tee -a "$LOG_FILE"
sudo rm -rf "$TEMP_FILE"
fi

rm "$TEMP_FILE"
sudo rm -rf "$TEMP_FILE"

sleep 2

echo " "
echo "VERIFICANDO A VERSÃO DO NODE JS"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "VERIFICANDO A VERSÃO DO NODE JS" | tee -a "$LOG_FILE"
echo " " | tee -a "$LOG_FILE"

sleep 2

CURRENT_NODE_VERSION=$(node -v | cut -d'v' -f2)

if [ "$CURRENT_NODE_VERSION" -lt 18 ]; then
echo "Versão do Node.js atual é inferior a 18. Atualizando para a 20.x..."
sudo apt-get remove nodejs
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g npm
compare_versions() {
local version1="$1"
local version2="$2"
IFS=. read -ra v1 <<<"$version1"
IFS=. read -ra v2 <<<"$version2"
for ((i = 0; i < ${#v1[@]}; i++)); do
if [[ ${v1[$i]} -gt ${v2[$i]} ]]; then
return 1
elif [[ ${v1[$i]} -lt ${v2[$i]} ]]; then
return -1
fi
done
return 0
}

if compare_versions "$CURRENT_NODE_VERSION" "18"; then
echo "Versão do Node.js atual é inferior a 18. Atualizando para a 20.x..." | tee -a "$LOG_FILE"
sudo apt-get remove nodejs | tee -a "$LOG_FILE"
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - | tee -a "$LOG_FILE"
sudo apt-get install -y nodejs | tee -a "$LOG_FILE"
sudo npm install -g npm | tee -a "$LOG_FILE"
else
echo "Versão do Node.js é 18 ou superior. Prosseguindo com a atualização..."
echo "Versão do Node.js é 18 ou superior. Prosseguindo com a atualização..." | tee -a "$LOG_FILE"
fi

sleep 2

echo " "
echo "BAIXANDO AS ATUALIZAÇÕES"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "BAIXANDO AS ATUALIZAÇÕES" | tee -a "$LOG_FILE"
echo " " | tee -a "$LOG_FILE"

sleep 2

git reset --hard
git pull
git reset --hard | tee -a "$LOG_FILE"
git pull | tee -a "$LOG_FILE"

echo " "
echo "ACESSANDO O BACKEND"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "ACESSANDO O BACKEND" | tee -a "$LOG_FILE"
echo " " | tee -a "$LOG_FILE"

sleep 2

cd backend

echo " "
echo "ATUALIZANDO OS ARQUIVOS DO BACKEND"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "ATUALIZANDO OS ARQUIVOS DO BACKEND" | tee -a "$LOG_FILE"
echo " " | tee -a "$LOG_FILE"

sleep 2

sudo rm -rf node_modules
npm install
sudo rm -rf dist
npm run build
sudo rm -rf node_modules | tee -a "$LOG_FILE"
npm install | tee -a "$LOG_FILE"
sudo rm -rf dist | tee -a "$LOG_FILE"
npm run build | tee -a "$LOG_FILE"

echo " "
echo "EXECUTANDO O DB:MIGRATE"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "EXECUTANDO O DB:MIGRATE" | tee -a "$LOG_FILE"
echo " " | tee -a "$LOG_FILE"

sleep 2

npx sequelize db:migrate
npx sequelize db:migrate | tee -a "$LOG_FILE"

echo " "
echo "EXECUTANDO O DB:SEED:ALL"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "EXECUTANDO O DB:SEED:ALL" | tee -a "$LOG_FILE"

sleep 2

npx sequelize db:seed:all
npx sequelize db:seed:all | tee -a "$LOG_FILE"

echo " "
echo "ACESSANDO O FRONTEND"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "ACESSANDO O FRONTEND" | tee -a "$LOG_FILE"
echo " " | tee -a "$LOG_FILE"

sleep 2

cd ../frontend

sleep 2

echo " "
echo "VERIFICANDO O CONFIG.JSON"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "VERIFICANDO O CONFIG.JSON" | tee -a "$LOG_FILE"
echo " " | tee -a "$LOG_FILE"

sleep 2

if [ ! -e src/config.json ]; then
echo "Criando o arquivo config.json"
cp src/config.json.example src/config.json
echo "Criando o arquivo config.json" | tee -a "$LOG_FILE"
cp src/config.json.example src/config.json | tee -a "$LOG_FILE"
else
echo "O arquivo config.json já existe"
echo "O arquivo config.json já existe" | tee -a "$LOG_FILE"
fi

sleep 2

echo " "
echo "ATUALIZANDO OS ARQUIVOS DO FRONTEND"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "ATUALIZANDO OS ARQUIVOS DO FRONTEND" | tee -a "$LOG_FILE"
echo " " | tee -a "$LOG_FILE"

sleep 2

sudo rm -rf node_modules
npm install
rm -rf build
npm run build
sudo rm -rf node_modules | tee -a "$LOG_FILE"
npm install | tee -a "$LOG_FILE"
sudo rm -rf build | tee -a "$LOG_FILE"
npm run build | tee -a "$LOG_FILE"

echo " "
echo "RESTART PM2"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "RESTART PM2" | tee -a "$LOG_FILE"
echo " " | tee -a "$LOG_FILE"

sleep 2

pm2 restart all
pm2 restart all | tee -a "$LOG_FILE"

echo " "
echo "PRESS TICKET ATUALIZADO COM SUCESSO!!!"
echo " "
echo " " | tee -a "$LOG_FILE"
echo "PRESS TICKET ATUALIZADO COM SUCESSO!!!" | tee -a "$LOG_FILE"
echo "Log de atualização salvo em: $LOG_FILE"

0 comments on commit 0a96ad8

Please sign in to comment.