Как начать играть с помощью Bamboo, не дожидаясь бесконечного развертывания?

Мы создали приложение Play на Java и развертываем его на виртуальной машине среды разработки с помощью Atlassian Bamboo's Задача SSH: cd path/to/application/directory && start "" play run. Он переходит в нужное место, запускает новую консоль и начинает игру: сервер успешно запущен, и мы можем получить доступ к сайту без проблем.

Проблема в том, что задача развертывания в Bamboo никогда не останавливается, потому что она все еще отслеживает консоль, на которой был вызван play run - в статусе Bamboo мы видим такие вещи, как Deploying for 7,565 minutes. Мы думали, что добавление start "" решит эту проблему, но в Bamboo это то же самое, что и просто выполнение play run. Кроме того, когда нам нужно выполнить повторное развертывание, мы должны сначала остановить процесс развертывания и перезапустить его вручную.

Два вопроса:

  1. Как мы можем запустить сервер из Bamboo так, чтобы план развертывания завершился?
  2. Как мы можем остановить / убить предыдущий сервер из Bamboo в начале следующего развертывания?

person rishimaharaj    schedule 09.07.2014    source источник


Ответы (3)


Bamboo плохо справляется с фоновыми задачами. Была аналогичная проблема, в конце концов, мы написали сценарий bash, который запускался в фоновом режиме.

start.sh &1> /dev/null &2 > /dev/null &
person i.am.michiel    schedule 09.07.2014
comment
У вас есть эквивалентный .bat для Windows? - person rishimaharaj; 09.07.2014
comment
Вы развертываете на windows? - person i.am.michiel; 09.07.2014
comment
Да, у нашего клиента есть стек WAMP, и мы имитируем его в нашей среде разработки / тестирования. - person rishimaharaj; 09.07.2014
comment
Вы имитируете стек PHP для приложения Play? Дафук? Однако понятия не имел, как это сделать в среде Windows. Я предполагаю, что он создает файл PID, как в Linux. Вы можете начать оттуда. - person i.am.michiel; 09.07.2014

совсем не знаком со стеком WAMP или play cli, но попробуйте запустить его как команду powershell, которая должна запускаться и немедленно завершаться

powershell -command "& <your command here>"

или в противном случае

powershell -command "& start-job { <your command here>} "
person Avner    schedule 25.07.2014

Для Windows вы можете запускать фоновые задачи с помощью скрипта Groovy. Groovy может выполнять внешнюю программу как процесс:

"/bin/application.exe".execute()

А затем вы можете проверить, что приложение запущено:

println "tasklist /fi \"imagename eq application.exe\"".execute().text
person Alexander A. Ostapenko    schedule 13.07.2018