diff --git a/bin/publishpvp b/bin/publishpvp index 10da8cc..1ab110c 100755 --- a/bin/publishpvp +++ b/bin/publishpvp @@ -1,78 +1,111 @@ #!/bin/bash -file="$(find ${HOME}/.local/$(basename $0)/ -name $1)" -case $1 in - *cnf*|*conf*) - [ -z "${file-x}" ] && file="${HOME}/.local/$(basename $0)/confluence" - libdir=/opt/atlassian/confluence/confluence/WEB-INF/lib - app=confluence - appuser=confluence - ;; - *jra*|*jira*) - [ -z "${file-x}" ] && file="${HOME}/.local/$(basename $0)/jira" - libdir=/opt/atlassian/jira/atlassian-jira/WEB-INF/lib - app=jira - appuser=jira - ;; - *) - echo "host ${1} not found -> exit" - exit - ;; -esac +RESTART=true -echo "Using configfile $file" -runtime=$(date "+%x-%X") -UNINSTALLDIR="${HOME}/UNINSTALL/${runtime}/" +set -- $(getopt -u -o n --long no-restart -- "$@" ) -if stat "${file}" >/dev/null 2>/dev/null ; then - echo "Stop $app on ${1}" - ssh ${1} systemctl stop ${app}.service - cat ${file}|sort -r |while read cmd pkg version ; do - case $cmd in - install) - echo install $cmd $pkg $version - if [ -z "${version}" ]; then - package=$(find ~/.m2 -name "*${pkg}*.jar"|sort -t"." -k 1,1 -k 2,2 -k 3,3|tail -n1) - else - package=$(find ~/.m2 -name "*${pkg}-${version}.jar") - fi - if [ -n "${package-x}" ]; then - scp ${package} ${1}:${libdir} - ssh ${1} chown $appuser:${appusergrp-root} "${libdir}/$(basename ${package})" exit" + exit + ;; + esac + + echo "Using configfile $file" + runtime=$(date "+%x-%X") + UNINSTALLDIR="${HOME}/UNINSTALL/${runtime}/" + + if stat "${file}" >/dev/null 2>/dev/null ; then + echo "Stop $app on ${DEST}" + ssh ${DEST} systemctl stop ${app}.service + cat ${file}|sort -r |while read cmd pkg version ; do + case $cmd in + install) + if [ -z "${version}" ]; then + dir=$( find ~/.m2 -type d -name "*${pkg}*"|grep -v '\$' ) + loginfo "dir: $dir" + pkgdir=$(find ${dir} -maxdepth 1 -mindepth 1 -type d -exec basename '{}' \; |sort -n -t"." -k 1,1 -k 2,2 -k 3,3|tail -n1) + loginfo "pkgdir: $pkgdir" + loginfo "${dir}/${pkgdir}" + package=$(find ${dir}/${pkgdir} -name "*${pkg}*.jar") + loginfo "package: $package" else - echo remove $pkg in all versions from ${1} - ssh -T ${1} /bin/bash <