2014-01-13 3 views
2

Я пытаюсь развернуть файл War на моем Tomcat 7, установленный поваренной книгой на CHEF. Но, я не могу найти ни одного ответа для моего вопроса на любых форумах. Я не знаю, как это сделать! Я использую сервер Ubuntu 12.10. Рецепт, который я использую https://github.com/solarvm/tomcat7-cookbookКак загрузить файл WAR на кулинарной книге Tomcat 7 от шеф-повара?

+0

Вы не нашли ответ на свой вопрос? Какой форум вы искали? –

+0

Смотрите: http://stackoverflow.com/questions/19482781/java-app-deployment-via-chef –

ответ

2

Простой способ сделать это состоит в использовании service ресурсов, чтобы остановить Tomcat, использовать bash ресурс или файловый ресурс, чтобы скопировать файл WAR, а затем использовать service ресурс снова начать Tomcat.

Эта поваренная книга, которую вы пытаетесь использовать, не включает развертывание WAR-файлов. Но я нашел этот - https://github.com/poise/application_java - это может сделать эту работу.

И для чего это стоит, я думаю, вы могли бы найти лучшую поваренную книгу по установке Tomcat. Для начала есть рецепт «tomcat» в кулинарных журналах Opscode site, которые могут обрабатывать Tomcat 7.

(Подсказка: не просто используйте первую поваренную книгу, которую вы найдете в Google. Сделайте поиск в Github и попробуйте для оценки функциональности и качества поваренных книг)

+0

Я пробовал это, но я получил эту ошибку: 'Ошибка выполнения действия' create' on resource 'template [/ USR/местные/Jenkins/Shared/jenkins.xml]» Chef :: Исключения :: FileNotFound Поваренная книга 'application_java' (3.0.1) не содержит файл в любом из этих мест: шаблоны/убунту -13.10/jenkins-context.xml.erb шаблоны/ubuntu/jenkins-context.xml.erb шаблоны/default/jenkins-context.xml.erb Эта кулинарная книга _does_ содержит: ['/ opt/chef-repo/cookbooks/application_java/шаблоны/по умолчанию/контекст. xml.erb '] ' –

+1

Похоже, вы указали атрибут« context_template », не предоставляя шаблон, который соответствует ... согласно правилам соответствия шаблону Chef. Я не уверен, что эта функция поваренной книги правильно реализована. –

2

Вы уже нашли $ tomcat/webapps/folder?

Шаги, выполняющие ручную hotdeployment и обновление. Избегая возможного конфликта, вы должны сделать временный mywebapp.war.zip трюк с именем файла. Трюк, который я использовал в linux и windows уже много лет.

  • копия myapp.war в $ tomcat/webapps/myapp.war.zip имя файла. Томкат игнорирует это.
  • переименовать myapp.war.zip в myapp.war имя файла. Tomcat находит новое веб-приложение.
  • подождите несколько секунд, вы должны найти папку $ tomcat/webapps/myapp/extract, сделанную tomcat. файл войны был автоматически экстрагирован и теперь доступен.
  • просмотра в http://localhost:8080/myapp/ URL-адрес

Обновление существующих веб-приложений с помощью перезаписи трюк.

  • копия myapp.war до $ кот/WebApps/myapp.war.zip имя файла
  • переименования myapp.war.zip в myapp.war имя файла, принудительно переписать существующий.
  • подождите несколько секунд, вы должны увидеть $ мартовский кот/WebApps/MyApp/временная метка папки обновляется
  • просмотра в http://localhost:8080/myapp/ URL-адрес

Или обновить существующие веб-приложения с помощью удаления-копии трюк.

  • копия myapp.war до $ кот/WebApps/myapp.war.zip файла
  • удалить существующие myapp.war файла
  • подождать несколько секунд, вы должны увидеть $ мартовский кот/WebApps/MyApp/папка является удален
  • переименовать myapp.war.zip в myapp.war filename
  • подождите несколько секунд, вы должны найти папку $ tomcat/webapps/myapp/extract, сделанную tomcat. файл войны был автоматически экстрагирован и теперь доступен.
  • просмотра в http://localhost:8080/myapp/ URL-адрес

Причина временного war.zip имя файла обеспечения файл полностью копируется в папку назначения, прежде чем Tomcat трогает. Копирование больших файлов непосредственно в .war имя файла может привести к тому, что Tomcat считывает содержимое файлов с половинным содержимым.