This commit is contained in:
49
scripts/change-version.sh.example
Normal file
49
scripts/change-version.sh.example
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
|
||||
GREEN='\033[0;32m'
|
||||
RED='\033[0;31m'
|
||||
NO_COLOR='\033[0m'
|
||||
|
||||
APP_PATH='.'
|
||||
API_FILE_PATH="${APP_PATH}/api/composer.json"
|
||||
FRONTEND_FILE_PATH="${APP_PATH}/frontend/package.json"
|
||||
|
||||
while true; do
|
||||
read -p "New version: " NEW_VERSION
|
||||
|
||||
if [[ "${NEW_VERSION}" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+*$ ]]; then
|
||||
break
|
||||
else
|
||||
echo -e "${RED}Invalid version${NO_COLOR}\n"
|
||||
fi
|
||||
done
|
||||
|
||||
echo
|
||||
|
||||
while true; do
|
||||
echo -e "Version informed: ${GREEN}${NEW_VERSION}${NO_COLOR}"
|
||||
read -p "Do you want to proceed? (y/n) " answer
|
||||
|
||||
case $answer in
|
||||
[yY] ) break;;
|
||||
[nN] ) exit 1;;
|
||||
* ) echo -e "${RED}Invalid answer${NO_COLOR}\n";;
|
||||
esac
|
||||
done
|
||||
|
||||
API_OLD_VERSION_LINE=$(cat $API_FILE_PATH | grep -i \"version\")
|
||||
FRONTEND_OLD_VERSION_LINE=$(cat $FRONTEND_FILE_PATH | grep -i \"version\")
|
||||
|
||||
NEW_VERSION_LINE="\"version\": \"${NEW_VERSION}\","
|
||||
API_NEW_VERSION_LINE=" ${NEW_VERSION_LINE}"
|
||||
FRONTEND_NEW_VERSION_LINE=" ${NEW_VERSION_LINE}"
|
||||
|
||||
echo -e "\n${GREEN}Changing api version...${NO_COLOR}"
|
||||
sed -i "s/${API_OLD_VERSION_LINE}/${API_NEW_VERSION_LINE}/" $API_FILE_PATH
|
||||
|
||||
echo -e "${GREEN}Changing frontend version...${NO_COLOR}"
|
||||
sed -i "s/${FRONTEND_OLD_VERSION_LINE}/${FRONTEND_NEW_VERSION_LINE}/" $FRONTEND_FILE_PATH
|
||||
|
||||
echo -e "\n${GREEN}Done!${NO_COLOR}"
|
||||
|
||||
exit 0
|
||||
156
scripts/publish.sh.example
Normal file
156
scripts/publish.sh.example
Normal file
@@ -0,0 +1,156 @@
|
||||
#!/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
|
||||
118
scripts/version-hotfix.sh.example
Normal file
118
scripts/version-hotfix.sh.example
Normal file
@@ -0,0 +1,118 @@
|
||||
#!/bin/bash
|
||||
|
||||
GREEN='\033[0;32m'
|
||||
RED='\033[0;31m'
|
||||
NO_COLOR='\033[0m'
|
||||
|
||||
APP_PATH='.'
|
||||
API_FILE_PATH="${APP_PATH}/api/composer.json"
|
||||
FRONTEND_FILE_PATH="${APP_PATH}/frontend/package.json"
|
||||
|
||||
while true; do
|
||||
read -p "New version: " NEW_VERSION
|
||||
|
||||
if [[ "${NEW_VERSION}" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+*$ ]]; then
|
||||
break
|
||||
else
|
||||
echo -e "${RED}Invalid version${NO_COLOR}\n"
|
||||
fi
|
||||
done
|
||||
|
||||
echo
|
||||
|
||||
while true; do
|
||||
echo -e "Version informed: ${GREEN}${NEW_VERSION}${NO_COLOR}"
|
||||
read -p "Do you want to proceed? (y/n) " answer
|
||||
|
||||
case $answer in
|
||||
[yY] ) break;;
|
||||
[nN] ) exit 1;;
|
||||
* ) echo -e "${RED}Invalid answer${NO_COLOR}\n";;
|
||||
esac
|
||||
done
|
||||
|
||||
echo -e "\n${GREEN}Fetching origin...${NO_COLOR}"
|
||||
if ! git fetch origin; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CURRENT_BRANCH=$(git symbolic-ref -q --short HEAD || git describe --tags --exact-match)
|
||||
|
||||
if [ $CURRENT_BRANCH != 'release-hotfix' ]; then
|
||||
echo -e "\n${GREEN}Checking out release-hotfix...${NO_COLOR}"
|
||||
if ! git checkout release-hotfix; then
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "\n${GREEN}Pulling on release-hotfix...${NO_COLOR}"
|
||||
if ! git pull; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "\n${GREEN}Checking out release-${NEW_VERSION}...${NO_COLOR}"
|
||||
if ! git checkout -b release-$NEW_VERSION; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
API_OLD_VERSION_LINE=$(cat $API_FILE_PATH | grep -i \"version\")
|
||||
FRONTEND_OLD_VERSION_LINE=$(cat $FRONTEND_FILE_PATH | grep -i \"version\")
|
||||
|
||||
NEW_VERSION_LINE="\"version\": \"${NEW_VERSION}\","
|
||||
API_NEW_VERSION_LINE=" ${NEW_VERSION_LINE}"
|
||||
FRONTEND_NEW_VERSION_LINE=" ${NEW_VERSION_LINE}"
|
||||
|
||||
echo -e "\n${GREEN}Changing api version...${NO_COLOR}"
|
||||
sed -i "s/${API_OLD_VERSION_LINE}/${API_NEW_VERSION_LINE}/" $API_FILE_PATH
|
||||
|
||||
echo -e "${GREEN}Changing frontend version...${NO_COLOR}"
|
||||
sed -i "s/${FRONTEND_OLD_VERSION_LINE}/${FRONTEND_NEW_VERSION_LINE}/" $FRONTEND_FILE_PATH
|
||||
|
||||
echo -e "\n${GREEN}Commiting...${NO_COLOR}"
|
||||
if ! git commit -am "Altera a versão do sistema para ${NEW_VERSION}"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
|
||||
while true; do
|
||||
read -p "Do you want to push? (y/n) " answer
|
||||
|
||||
case $answer in
|
||||
[yY] )
|
||||
echo -e "\n${GREEN}Pushing on release-${NEW_VERSION}...${NO_COLOR}"
|
||||
if ! git push -u origin release-$NEW_VERSION; then
|
||||
exit 1
|
||||
fi
|
||||
break
|
||||
;;
|
||||
[nN] ) break;;
|
||||
* ) echo -e "${RED}Invalid answer${NO_COLOR}\n";;
|
||||
esac
|
||||
done
|
||||
|
||||
echo
|
||||
|
||||
while true; do
|
||||
read -p "Do you want to delete the local branch release-${NEW_VERSION}? (y/n) " answer
|
||||
|
||||
case $answer in
|
||||
[yY] )
|
||||
echo -e "\n${GREEN}Checking out release-hotfix...${NO_COLOR}"
|
||||
if ! git checkout release-hotfix; then
|
||||
exit 1
|
||||
fi
|
||||
echo -e "\n${GREEN}Deleting local branch release-${NEW_VERSION}..${NO_COLOR}"
|
||||
if ! git branch -D release-$NEW_VERSION; then
|
||||
exit 1
|
||||
fi
|
||||
break
|
||||
;;
|
||||
[nN] ) break;;
|
||||
* ) echo -e "${RED}Invalid answer${NO_COLOR}\n";;
|
||||
esac
|
||||
done
|
||||
|
||||
echo -e "\n${GREEN}Done!${NO_COLOR}"
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user