У нас используется несколько десятков доменов GlassFish с разными настройками, но все они содержат одно и то же приложение. Возникла необходимость автоматизировать процесс установки приложения, т.к это стало занимать очень много времени.
Немного помучавшись :) , получаем скрипт для Cygwin/Bash:
Формат конф. файла:
auto_deploy.cfg
Если статья была вам полезна - кликните на баннер или кнопку Donate :)
Немного помучавшись :) , получаем скрипт для Cygwin/Bash:
#!/bin/bash asadmin="/cygdrive/c/glassfish3/bin/asadmin.bat" repository="/cygdrive/c/deployment/src/" glassfish_path="/cygdrive/c/glassfish3/glassfish/domains/" export JAVA_HOME=E:/Oracle/Middleware/jdk160_35/ export MVN_LOC=c:/deployment/apache-maven-3.2.1/ export PATH="$PATH:$JAVA_HOME:$CNTLM_LOC:$MVN_LOC/bin" cd $repository # Забираем из SVN последнюю версию приложения svn checkout http://127.0.0.1/projects/my_project/ --username USER --password PASSWD cd $repository/my_project # C помощью Maven собираем приложение $MVN_LOC/bin/mvn clean $MVN_LOC/bin/mvn package ## where Maven compile war file=$(ls c:/deployment/src/my_project/target/*.war) cd $glassfish_path # Читаем конфиг файл, со списком доменов cat $etc_config/auto_deploy.cfg | grep -v '#' | sed -e '/^$/d' -e 's/:/ /g' | while read line; do echo $line | (read context application directory # Получаем админский порт GlassFish admin_port=$(cat $directory/config/domain.xml | grep 'network-listener port=' | grep 'admin-listener' | head -1 | sed -e 's/.*listener port="//g' -e 's/".protocol.*//g') # Соединяемся с админкой GlassFish, деплоим приложение и перезапускаем домен. $asadmin --host=localhost --port=$admin_port --passwordfile 'e:\glassfish\domains\button\password_file.txt' --user=admin << EOF deploy --force=true --contextroot $context --name $application --target domain $file restart-domain $directory EOF ) #### done
Формат конф. файла:
auto_deploy.cfg
##context:application:directory myproject1:MyProject1:myproject1 myproject2:MyProject2:myproject2
Если статья была вам полезна - кликните на баннер или кнопку Donate :)
Комментариев нет:
Отправить комментарий