Files
rkm-conectasus-ci-sandbox/scripts/publish.sh.example
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

157 lines
4.8 KiB
Bash

#!/bin/bash
GREEN='\033[0;32m'
RED='\033[0;31m'
NO_COLOR='\033[0m'
APP_PATH='/var/www'
API_PATH="${APP_PATH}/api"
FRONTEND_PATH="${APP_PATH}/frontend"
if [ ! -d $APP_PATH ]
then
echo -e "${RED}"
echo "############################################################"
echo "### ###"
echo "### Aplication directory not found ###"
echo "### ###"
echo "############################################################"
echo -e "${NO_COLOR}"
exit 1
fi
########################## REPOSITORY ##########################
cd $APP_PATH
echo -e "${GREEN}"
echo "############################################################"
echo "### ###"
echo "### Updating repository... ###"
echo "### ###"
echo "############################################################"
echo -e "${NO_COLOR}"
git config --global --add safe.directory $APP_PATH
CURRENT_BRANCH=$(git symbolic-ref -q --short HEAD || git describe --tags --exact-match)
while true; do
echo -e "Current branch: ${GREEN}${CURRENT_BRANCH}${NO_COLOR}"
read -p "Do you want to proceed? (y/n) " answer
case $answer in
[yY] ) break;;
[nN] ) exit 1;;
* ) echo -e "Invalid answer\n";;
esac
done
echo
if ! git fetch; then
exit 1
fi
echo
read -p 'New version: ' new_version
if ! git checkout $new_version; then
exit 1
fi
################################ API #################################
cd $API_PATH
echo -e "${GREEN}"
echo "############################################################"
echo "### ###"
echo "### Installing api dependencies... ###"
echo "### ###"
echo "############################################################"
echo -e "${NO_COLOR}"
if ! composer install; then
exit 1
fi
echo -e "${GREEN}"
echo "############################################################"
echo "### ###"
echo "### Caching api routes... ###"
echo "### ###"
echo "############################################################"
echo -e "${NO_COLOR}"
if ! php artisan route:cache; then
exit 1
fi
echo -e "${GREEN}"
echo "############################################################"
echo "### ###"
echo "### Updating api files permissions... ###"
echo "### ###"
echo "############################################################"
echo -e "${NO_COLOR}"
if ! find $API_PATH -path $API_PATH/storage -prune -o -exec chown www-data:www-data {} +; then
exit 1
fi
echo -e "${GREEN}Files permissions updated!${NO_COLOR}"
echo -e "${GREEN}"
echo "############################################################"
echo "### ###"
echo "### Updating databases... ###"
echo "### ###"
echo "############################################################"
echo -e "${NO_COLOR}"
if ! php artisan publish; then
exit 1
fi
############################## FRONTEND ##############################
cd $FRONTEND_PATH
echo -e "${GREEN}"
echo "############################################################"
echo "### ###"
echo "### Installing frontend dependencies... ###"
echo "### ###"
echo "############################################################"
echo -e "${NO_COLOR}"
if ! npm ci; then
exit 1
fi
echo -e "${GREEN}"
echo "############################################################"
echo "### ###"
echo "### Building frontend application... ###"
echo "### ###"
echo "############################################################"
echo -e "${NO_COLOR}"
if ! npm run build; then
exit 1
fi
######################################################################
echo -e "${GREEN}"
echo "############################################################"
echo "### ###"
echo "### All done. ###"
echo "### ###"
echo "############################################################"
echo -e "${NO_COLOR}"
exit 0