Плагин Hudson Deploy - несколько серверов Tomcat - PullRequest
1 голос
/ 14 ноября 2011

Что я пытаюсь сделать :
Иметь одно задание hudson, которое просит пользователя выбрать ip сервера tomcat для развертывания файла war.

Что я сделал :
Я создал параметризованное задание hudson "projectname-deploy", которое просит пользователя выбрать сервер для развертывания (dev, staging, live) файла war. В поле плагина развертывания Hudson "Tomcat URL" я указал http://${SERVER}:8080/ - SERVER - поле параметра, содержащее IP-адрес сервера. Однако $ {SERVER} не заменяется IP-адресом, выбранным пользователем.

Какие-либо предложения о том, как развернуть войну на выбранном пользователем сервере Tomcat? спасибо!

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

В итоге я использовал команду curl для развертывания war вместо плагина war - имя сервера является параметром задания сборки для выбора типа, поэтому пользователь может выбрать сервер для развертывания сборки.

curl --upload-file <path to warfile> "http://<tomcat username>:<tomcat password>@<hostname>:<port>/manager/deploy?path=/<context>&update=true"

Я нашел эту тему Сценарий удаленного развертывания Tomcat Manager Полезно

0 голосов
/ 17 ноября 2011

Вы можете использовать разные профили для dev, staging и live и активировать профиль на основе выпадающего списка.

Допустим, у вас есть выбор в параметризованном задании под названием ENVIRONMENT с вариантами dev, staging и т. Д.Тогда вы могли бы иметь профили в pom, как это ...

<profile>
  <id>dev/id>
  <activation>
    <property>
      <name>env.ENVIRONMENT</name>
      <value>dev</value>
    </property>
  </activation>
  <properties>
    <tomcat.url>http://whatever-you-need-here:8080</tomcat.url>
  </properties>
</profile>
<profile>
  repeat with different activations for staging etc.
</profile>

, затем вы можете использовать это свойство по своему желанию для развертывания в нужное вам место.

...