Update scripts/shell/job/gp/install-gp.sh script

This commit is contained in:
Matheus Albino Brunhara
2024-04-04 13:32:15 -03:00
parent 112b94feeb
commit 821eda4d36

View File

@@ -3,19 +3,25 @@
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"
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"
echo " --no-webmap true | --no-wm true (Optional) Make the script not install the WebMap module"
echo " --install-apache true (Optional) Make the script install the Apache dependency for WebMap module"
}
version=''
should_download=true
should_install_webmap=true
should_install_apache=false
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;;
--no-webmap|--no-wm) should_install_webmap=false; shift 2;;
--install-apache) should_install_apache=true; shift 2;;
*) shift ;;
esac
done
@@ -51,6 +57,36 @@ validate_repo_script() {
fi
}
get_version_type() {
version=$1
if [[ $version == *"-SNAPSHOT" ]];then
echo 'snapshot'
else
echo 'release'
fi
}
get_maven_repo() {
version=$1
case `get_version_type $version` in
'snapshot') echo 'cpqd-snapshot' ;;
'release') echo 'cpqd-release' ;;
*) echo "[ERROR] Função \"$FUNCNAME\" recebeu um retorno inválido" ;;
esac
}
get_artifactory_repo() {
version=$1
case `get_version_type $version` in
'snapshot') echo 'oss-package-dev' ;;
'release') echo 'oss-package-rel' ;;
*) echo "[ERROR] Função \"$FUNCNAME\" recebeu um retorno inválido" ;;
esac
}
script_explode_java_files_filename='explode-java-files.sh'
validate_repo_script $script_explode_java_files_filename
@@ -60,22 +96,18 @@ validate_repo_script $script_disable_dbversion_check_filename
root_dir=`pwd`
# download files
base_url='artifactory.cpqd.com.br/artifactory'
gp_maven_repo=`get_maven_repo $version`
gp_artifactory_repo=`get_artifactory_repo $version`
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'`)
all_files=(`jf rt search --sort-by=path "${gp_artifactory_repo}/gp/${version}/*" | jq -r '.[].path'`)
for pkg in "${all_files[@]}"; do
filename=`basename $pkg`
@@ -125,7 +157,6 @@ cd $root_dir/server/configurator/bin
chmod +x setup.sh
./setup.sh
deployments_folder=$root_dir/wildfly-8.2.1/ports-01/deployments
# adding servergroupname
@@ -143,8 +174,114 @@ xmlstarlet ed -L -N x="urn:jboss:domain:2.2" -s "//x:server/x:system-properties"
-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
$scripts_folder/$script_disable_dbversion_check_filename --deployments-dir $deployments_folder
cp software-info.xml software-info.xml.old
if !should_install_webmap; then
echo "[INFO] Skipping WebMap installation..."
exit 0
fi
$scripts_folder/$script_disable_dbversion_check_filename
gp_superparent_pom_filename_wc='cpqd-etics-super-parent-*.pom'
gp_superparent_pom_dl="$gp_maven_repo/br/com/cpqd/etics/parent/cpqd-etics-super-parent/$version/$gp_superparent_pom_filename_wc"
jf rt dl --flat --fail-no-op "$gp_superparent_pom_dl"
gp_superparent_pom_filename=`find . -maxdepth 1 -type f -name "$gp_superparent_pom_filename_wc" -exec basename {} \;`
if [ -z "$gp_superparent_pom_filename" ]; then
echo "[ERROR] Could not find the $gp_superparent_pom_filename_wc filename"
exit 1
fi
cdk_version=`xmlstarlet sel -N pom="http://maven.apache.org/POM/4.0.0" -t -v '/pom:project/pom:parent/pom:version' $gp_superparent_pom_filename`
cdk_maven_repo=`get_maven_repo $cdk_version`
cdk_superparent_pom_filename_wc='cpqd-super-parent-*.pom'
cdk_superparent_pom_dl="$cdk_maven_repo/br/com/cpqd/parent/cpqd-super-parent/$cdk_version/$cdk_superparent_pom_filename_wc"
jf rt dl --flat --fail-no-op "$cdk_superparent_pom_dl"
cdk_superparent_pom_filename=`find . -maxdepth 1 -type f -name "$cdk_superparent_pom_filename_wc" -exec basename {} \;`
if [ -z "$cdk_superparent_pom_filename" ]; then
echo "[ERROR] Could not find the $cdk_superparent_pom_filename_wc filename"
exit 1
fi
msgs_version=`xmlstarlet sel -N pom="http://maven.apache.org/POM/4.0.0" -t -v '/pom:project/pom:properties/pom:cpqd.msgs.version' $cdk_superparent_pom_filename`
msgs_maven_repo=`get_maven_repo $msgs_version`
msgs_package_filename_wc="cpqd-msgs-package-*.zip"
jf rt dl --flat --fail-no-op "$msgs_maven_repo/br/com/cpqd/msgs/package/cpqd-msgs-package/$msgs_version/$msgs_package_filename_wc"
msgs_package_filename=`find . -maxdepth 1 -type f -name "$msgs_package_filename_wc" -exec basename {} \;`
if [ -z "$msgs_package_filename" ]; then
echo "[ERROR] Could not find the $msgs_package_filename filename"
exit 1
fi
msgs_map_filename_wc="cpqd-msgs-map-*.zip"
jf rt dl --flat --fail-no-op "$msgs_maven_repo/br/com/cpqd/msgs/map/cpqd-msgs-map/$msgs_version/$msgs_map_filename_wc"
msgs_map_filename=`find . -maxdepth 1 -type f -name "$msgs_map_filename_wc" -exec basename {} \;`
if [ -z "$msgs_map_filename" ]; then
echo "[ERROR] Could not find the $msgs_map_filename filename"
exit 1
fi
rm $gp_superparent_pom_filename $cdk_superparent_pom_filename
msgs_package_dir='msgs-package'
unzip -qq -d $msgs_package_dir $msgs_package_filename
mv $msgs_package_dir/**/* $msgs_package_dir
# TODO, verificar se existe variável de ambiente "JBOSS_HOME" setada
# TODO, verificar se a porta 8080 está sendo usada
find $msgs_package_dir -type f -name '*.sh' -exec chmod +x {} \;
unzip -qq wildfly-15.0.0.Final.zip
wildfly15_folder='wildfly-15.0.0.Final'
$msgs_package_dir/appServerConfigurator/bin/setup.sh
find $msgs_package_dir -type f -name '*.sh' -exec chmod +x {} \;
cp server/shared/config/map_info.xml $msgs_package_dir/geoserverConfigurator/config
mkdir --parents $wildfly15_folder/standalone/data_dir
$msgs_package_dir/geoserverConfigurator/bin/setup.sh
unzip -qq -d $wildfly15_folder/standalone server/installation/deployments/mapserver/mapserver-geoserver-data_dir.zip
unzip -qq -d $wildfly15_folder/standalone/data_dir/www/map $msgs_map_filename
sed -i 's/8788/8789/g' $wildfly15_folder/bin/runstandalone.sh
if should_install_apache; then
sudo apt install apache2
sudo a2enmod proxy
sudo a2enmod proxy_http
apache2conf_filepath='/etc/apache2/apache2.conf'
hostname_line="ServerName $hostname:8808"
if ! grep -q "$hostname_line" "$apache2conf_filepath"; then
echo "" | sudo tee --append $apache2conf_filepath
echo "ServerName $hostname:8808" | sudo tee --append $apache2conf_filepath
fi
apache2portsconf_filepath='/etc/apache2/ports.conf'
sudo sed -i 's/Listen 80/Listen 8808/g' $apache2portsconf_filepath
apache2proxyconf_filepath='/etc/apache2/mods-enabled/proxy.conf'
text_to_add=("ProxyPreserveHost On"
"ProxyPass /cpqd/ http://$hostname:8180/cpqd/"
"ProxyPassReverse /cpqd/ http://$hostname:8180/cpqd/"
"ProxyPass /geoserver/ http://$hostname:8080/geoserver/"
"ProxyPassReverse /geoserver/ http://$hostname:8080/geoserver/")
for line in "${text_to_add[@]}"; do
sudo sed -i '/<\/IfModule>/i '"\\ \\ \\ \\ \\ \\ \\ \\ $line" $apache2proxyconf_filepath
done
sudo systemctl restart apache2
fi