Проверьте, развернуто ли приложение, и отмените его, если оно развернуто с помощью Bash в Jenkins. - PullRequest
0 голосов
/ 17 мая 2018

Я использую работу в Junkins для создания своего приложения (.ear), а затем развертываю его в Glassfish.Я хочу выполнить asadmin undeploy myApp перед развертыванием приложения (новая версия).Проблема заключается в том, что при первом выполнении приложение не развернуто, поэтому выполнение asadmin undeploy myApp приводит к ошибке.Любое предложение, чтобы справиться с этой ситуацией.Любое предложение наиболее приветствуется.Спасибо.


РЕДАКТИРОВАТЬ:

Исправьте меня, если я ошибаюсь в своем методе, может быть, я делаю что-то неправильно!Это правильный способ иметь цепочку производства посуды?Нужно ли останавливать сервер и перезапускать его?

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Посмотрев несколько видео на Bash и с помощью Давиде Патти, я понял, как это сделать.

Зная, что использовал ответ Давиде Патти, и я благодарю его за помощь, которую я выбралнаписать собственный ответ по простой причине: ответ Патти не сработал.

Чтобы проверить, развернуто ли приложение, и отменить его развертывание, я использовал следующий код Bash, который работал для меня:

apps=`asadmin list-applications -t --user=admin --passwordfile=password.txt`

for app in $apps
do
    if [ $app = "the_name_of_your_app" ]
    then
        asadmin --user=admin --passwordfile=password.txt undeploy the_name_of_your_app
    fi
done;

PS: содержимое password.txt представляет собой одну строку: AS_ADMIN_PASSWORD=admin

0 голосов
/ 17 мая 2018

Я никогда не использовал Glassfish, но вы могли проверить, развернуто ли ваше приложение, прежде чем выполнить отмену развертывания.

Если вы знаете порт, на котором должно работать ваше приложение, вы можете просто проверить с помощью netstat или lsof.

EDIT:

Посмотрите на этот документ (Пример 2–3 перечисления приложений), кажется, что вы можете увидеть это с помощью:

list-applications --type web

Относительно этого:

Поправьте меня, если я ошибаюсь в своем методе, возможно, я делаю что-то неправильно! Это правильный способ иметь цепочку производства посуды? Нужно ли останавливать сервер и перезапускать его?

Я думаю, что правильный ответ заключается в том, что это зависит от используемого вами веб-сервера (например, Glassfish обеспечивает автоматическое развертывание ). Но в целом подход работает.

...