Как использовать CHEF для запуска JAR?

У меня есть рабочий файл jar на виртуальной машине Ubuntu. Мне нужно создать рецепт шеф-повара, чтобы:

  1. Выполнить jar - (например: запустить команду: java -jar name.jar)
  2. Остановить выполнение - когда будет развернут новый jar.

Может ли это быть достигнуто CHEF?

С уважением, Адитья Чаудхари


person Java User    schedule 31.07.2014    source источник
comment
Вопрос: Вы смотрели какую-либо документацию? Например: docs.getchef.com/resource_deploy.html. В: Сохраняете ли вы .pid процессов, которые хотите перезапустить?   -  person FoggyDay    schedule 31.07.2014
comment
Недавно я нашел кулинарную книгу dropwizard. Он запускается как исполняемый файл jar, а также настраивает службу на целевом сервере. Вы можете воспользоваться этой кулинарной книгой: supermarket.getchef.com/cookbooks/dropwizard.   -  person Mark O'Connor    schedule 01.08.2014
comment
Выглядит действительно для меня... Полезно для меня!! Спасибо   -  person TriCore    schedule 12.01.2016


Ответы (1)


Есть много вариантов. Самый простой наверное:

execute "run file.jar in directory" do
  command "java -jar file.jar"
  cwd "directory containing jar file"
  action :run
end

Команда jar вернет код ошибки, который Chef будет использовать для определения успеха или неудачи. Есть много способов сделать это с помощью Chef. Вы можете увидеть, как другие рекомендуют запускать команду jar в фоновом режиме здесь, если вам нужно двигаться дальше после этой команды: Выполнение JAR в фоновом режиме

person Display Name is missing    schedule 31.07.2014
comment
где мне нужно поместить файл jar и yaml в поваренную книгу, пожалуйста, скажите мне путь. - person madhu; 27.04.2017
comment
Просто измените command "java -jar <path to your file>/file.jar". Сама банка не должна быть частью поваренной книги. - person Display Name is missing; 01.05.2017
comment
Вы имеете в виду, что нет необходимости копировать файл jar внутри cookbook . мне нужно скопировать файл jar внутри моего узла по любому пути, и у меня также есть файл yml. - person madhu; 02.05.2017
comment
я получаю эту ошибку Ошибка выполнения действия run на ресурсе «выполнить [запустить app.jar в каталоге]» - person madhu; 02.05.2017
comment
Пожалуйста, задайте новый вопрос с вашим рецептом, и кто-то быстро ответит. Не забудьте указать детали и форматирование - person Display Name is missing; 03.05.2017