Apache Tomcat: software deployment
Зачастую на одном инстансе apache tomcat приходится держать сразу несколько приложений. Для простоты их деплоинга я навоял скрипт ниже.
#!/bin/sh # Create link latest version for war files, erase work dir, restart tomcat # version: 2014.06.19 # # Creator: Sergey Zakharov # email: sv(dog)sadmin(dot)pp(dot)ua # #---------------------- Variables ---------------------- _recreate_new_link = true _restart_tomcat = true _erase_temp_dir = true _work_dir = "/opt/apache-tomcat" #-------------------- Start script --------------------- cd $_work_dir if [ $_restart_tomcat == true ] then echo ">>> Stop tomcat" bin / wrapper.sh stop echo ">>> [ OK ] Tomcat stoped" echo ">>> Sleep..." sleep 1 fi if [ $_erase_temp_dir == true ] then echo ">>> Erase work dir" rm -fr . / work /* echo ">>> [ OK ] Work dir erased" echo ">>> Erase webapps dir" rm -fr . / webapps /* echo ">>> [ OK ] webapps dir erased" fi if [ $_recreate_new_link == true ] then _softlist = ` ls -l | grep ^- | grep war$ | awk '{print $9}' | awk -F '-[0-9]' '{print $1}' | uniq ` for _i in $_softlist ; do _last_file = ` ls -l | grep "^-" | grep war$ | awk '{print $9}' | sort --version-sort | grep " $_i " | tail - 1 ` _current_link = ` ls -l | grep ^l | awk '{print $11}' | grep $_i ` _linkname = $_i echo " > create link" if [ " $_last_file " ! = " $_current_link " ] then ls $_linkname > / dev / null 2 >& 1 && rm $_linkname echo ">>> Create $_i symlink" ln -s $_last_file $_linkname fi done fi if [ $_restart_tomcat == true ] then echo ">>> Start tomcat..." bin / wrapper.sh start fi exit 0 |