Files
dotfiles/scripts/shell/job/gp/install-gp.sh
2024-03-28 13:26:01 -03:00

147 lines
4.4 KiB
Bash
Executable File

#!/bin/bash
show_help() {
echo "Usage: $0 [--files|-f files]"
echo "Options:"
echo " --help | -h (Optional) Display help information on how to use this script"
echo " --version | --version (Required) Specify the GP version to install"
echo " --no-download true | --no-dl true (Optional) Make the script not download the files from Artifactory"
}
version=''
should_download=true
while [ "$#" -gt 0 ]; do
case "$1" in
--help|-h) show_help; exit ;;
--version|-v) version="$2"; shift 2;;
--no-download|--no-dl) should_download=false; shift 2;;
*) shift ;;
esac
done
root_dir=`pwd`
scripts_folder=$HOME/repos/personal/personal-devboot/scripts/shell/job/gp
if [ -z "$version" ]; then
echo "You must specify the package version!"
echo "Example: `basename "$0"` --version 12.0.0.0.0-SNAPSHOT"
exit 1
fi
if [ ! -d "$scripts_folder" ]; then
echo "The git repository \"CloudAlb/personal-devboot\" must be in the \"~/repos\" folder!"
exit 1
fi
validate_repo_script() {
script_filename=$1
if [ ! -f "$scripts_folder/$script_filename" ];then
echo "The git repository \"CloudAlb/personal-devboot\" must have the script \"scripts/shell/job/gp/$script_filename\"!"
exit 1
fi
}
script_explode_java_files_filename='explode-java-files.sh'
validate_repo_script $script_explode_java_files_filename
script_disable_dbversion_check_filename='disable-dbversion-check-on-software-info-file.sh'
validate_repo_script $script_disable_dbversion_check_filename
root_dir=`pwd`
# download files
if $should_download; then
base_url='artifactory.cpqd.com.br/artifactory'
artifactory_repo='oss-package-dev'
if [[ $root_dir != *$version ]]; then
mkdir $version
cd $version
root_dir=`pwd`
fi
if [[ ${version} != *"-"* ]];then
artifactory_repo='oss-package-rel'
fi
all_files=(`jf rt search --sort-by=path "${artifactory_repo}/gp/${version}/*" | jq -r '.[].path'`)
for pkg in "${all_files[@]}"; do
filename=`basename $pkg`
if [[ $filename == "cpqd-etics-configurator-appserver-wildfly"* ]] || \
[[ $filename == "cpqd-dbmanager-etics-package"* ]] || \
[[ $filename == "cpqd-dbmanager-customer"* ]] || \
[[ $filename == "cpqd-etics-package-server"* ]] || \
[[ $filename == "cpqd-etics-customer"* ]]; then
wget $base_url/$pkg
fi
done
fi
find * -maxdepth 0 -type d -exec sudo rm -rf {} \;
# cpqd-msgs-map-1.8.7-RC02-bin.zip cpqd-msgs-package-1.8.7-RC02-bin.zip wildfly-15.0.0.Final.zip wildfly-8.2.1.zip
cp /l/disk0/mbrunhara/gp/zips/* .
# creating folders
mkdir -p cpqd-folders/audit cpqd-folders/exportacoes cpqd-folders/updater cpqd-folders/dataloader cpqd-folders/virtualdisk
# unpacking files
unzip wildfly-8.2.1.zip
find wildfly-8.2.1 -type f -name '*.sh' -exec chmod +x {} \;
unzip -d wildfly-configurator cpqd-etics-configurator-appserver-wildfly*
chmod +x wildfly-configurator/configurator/bin/setup.sh
wildfly-configurator/configurator/bin/setup.sh
# doing this again to add permissions for newly created files by configurator
find wildfly-8.2.1 -type f -name '*.sh' -exec chmod +x {} \;
unzip -d server cpqd-etics-package-server*
mv server/cpqd*/* server/
rmdir server/cpqd*
unzip -o -d server cpqd-dbmanager-etics-package*
unzip -o -d server cpqd-dbmanager-customer*
unzip -o -d server cpqd-etics-customer-*-package-server*
cd server/dbmanager
./dbmanager.sh &
dbmanager_pid=`echo $!`
wait $dbmanager_pid
cd $root_dir/server/configurator/bin
chmod +x setup.sh
./setup.sh
# TODO, depois daqui não executou
deployments_folder=$root_dir/wildfly-8.2.1/ports-01/deployments
# adding servergroupname
cd $deployments_folder
$scripts_folder/$script_explode_java_files_filename
hostname=`cat /etc/hostname`
cd $deployments_folder/../configuration
cp standalone-full.xml standalone-full.xml.old
xmlstarlet ed -L -N x="urn:jboss:domain:2.2" -s "//x:server/x:system-properties" -t elem -n property -v "" \
-i "//x:server/x:system-properties/property[last()]" -t attr -n name -v "servergroupname" \
-i "//x:server/x:system-properties/property[last()]" -t attr -n value -v "$hostname" standalone-full.xml
# adding ignore database version
cd $deployments_folder/cpqd-configuration.jar
cp software-info.xml software-info.xml.old
$scripts_folder/$script_disable_dbversion_check_filename