Развертывание войны в Jboss 7.0.1 через командную строку - PullRequest
6 голосов
/ 07 декабря 2011

У меня есть файл war, и мне нужно развернуть его на сервере Jboss 7.0.1.Теперь я просмотрел документацию, но не нашел ничего, чтобы развернуть файл войны.Более того, для развертывания вашей сборки через командную строку вы обычно должны использовать maven.Так что же нам нужно для войны?Если да, влияет ли это на файл войны?

К вашему сведению: я использую linux (CentOs5) ...

1 Ответ

13 голосов
/ 08 декабря 2011

Вы можете развернуть файл .war с помощью интерфейса командной строки управления. Специальная документация для этого находится здесь: Руководство администратора JBoss AS7 - Развертывание , с соответствующими разделами согласно ниже. Вам также может понравиться быстрый просмотр видео: 5 способов развертывания приложений на JBoss AS7

Развертывание CLI на управляемом домене

Процесс распространения двоичных файлов развертывания состоит из двух этапов: необходимо загрузить развертывание в хранилище, из которого контроллер домена может распространять его содержимое. На втором шаге необходимо назначить развертывание одной или нескольким группам серверов:

Используя CLI, вы можете сделать это одним движением:

[domain@localhost:9999 /] deploy ~/Desktop/test-application.war
Either --all-server-groups or --server-groups must be specified.

[domain@localhost:9999 /] deploy ~/Desktop/test-application.war --all-server-groups
'test-application.war' deployed successfully.

[domain@localhost:9999 /] deploy --help
[...]

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

[domain@localhost:9999 /] :read-children-names(child-type=deployment)
{
   "outcome" => "success",
   "result" => [
       "mysql-connector-java-5.1.15.jar",
       "test-application.war"
   ]
}

[domain@localhost:9999 /] /server-group=main-server-group/deployment=test-application.war:read-resource
{
   "outcome" => "success",
   "result" => {
       "enabled" => true,
       "name" => "test-application.war",
       "runtime-name" => "test-application.war"
   }
}

Аналогичным образом его можно удалить из группы серверов:

[domain@localhost:9999 /] undeploy test-application.war --all-relevant-server-groups
Successfully undeployed test-application.war.

[domain@localhost:9999 /] /server-group=main-server-group:read-children-names(child-type=deployment)
{
   "outcome" => "success",
   "result" => []
}

Развертывание CLI на отдельном сервере

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

[standalone@localhost:9999 /] deploy ~/Desktop/test-application.war
'test-application.war' deployed successfully.

[standalone@localhost:9999 /] undeploy test-application.war
Successfully undeployed test-application.war.

Развертывание CLI на автономном сервере (одна команда оболочки liner)

Вы также можете развернуть ВОЙНУ одним выстрелом из снаряда. Это полезно для скриптов Bash или псевдонимов Unix. ПРИМЕЧАНИЕ. Это предоставляет пароль, поэтому используйте его только для личных разработок. Убедитесь, что установлена ​​переменная $ JBOSS_HOME, и при необходимости измените путь и имя файла пароля и WAR ниже:

$ $JBOSS_HOME/bin/jboss-cli.sh -u=admin -p=MY_PASSWORD --controller=localhost:9990 --connect --command="deploy /path/to/MY_APP.war --force"

Сноска. Как вы знаете, у вас есть Консоль управления для развертывания, а также сканер развертывания. Первый популярен, как и любой графический интерфейс, но второй больше подходит для разработки. Я стараюсь максимально использовать CLI, так как кривая обучения стоит усилий для мощности пакетных сценариев и огромного масштаба низкоуровневых операций, предоставляемых API-интерфейсом CLI. Очень классные вещи. Я должен добавить ради прозрачности, что я работаю в команде документации AS / EAP, так что я могу быть предвзятым.

...