[英]How to upload a WAR file on Tomcat 7 cookbook by Chef?
我正在尝试在CHEF食谱上安装的Tomcat 7上部署War文件。 但是,在任何论坛上我都找不到我的问题的单一答案。 我不知道该怎么做! 我正在使用Ubuntu服务器12.10。 我正在使用的食谱是https://github.com/solarvm/tomcat7-cookbook
简单的方法是使用service
资源停止Tomcat,使用bash
资源或文件资源复制WAR文件,然后使用service
资源再次启动Tomcat。
您尝试使用的食谱不会进行WAR文件部署。 但是我发现这一个-https://github.com/poise/application_java-可以完成这项工作。
而且值得,我想您也可以找到更好的Tomcat安装指南。 首先,Opscode社区食谱网站上有一个可以处理Tomcat 7的“ tomcat”配方。
(提示:不要仅仅使用您在Google上找到的第一本食谱。请进行Github搜索,并尝试评估该食谱的功能和质量)
您是否已经找到$ tomcat / webapps /文件夹?
执行手动热部署和更新的步骤。 为避免可能发生的冲突,您应该使用临时的mywebapp.war.zip文件名技巧。 技巧我已经在linux和Windows中使用了多年。
http://localhost:8080/myapp/
URL地址 使用覆盖技巧更新现有的Web应用程序。
http://localhost:8080/myapp/
URL地址 或使用Delete-Copy技巧更新现有的Web应用程序。
http://localhost:8080/myapp/
URL地址 临时使用war.zip文件名的原因是要确保在Tomcat触摸文件之前将文件完全复制到目标文件夹。 将大文件直接复制到.war文件名可能会触发Tomcat读取一半大小的文件内容。
在厨师中执行此操作时要记住的一个非常重要的部分是使用警戒条件,不要让厨师在每次运行时都继续部署文件。 上面说明的步骤很好,但是当您在Chef中编写代码时,除非有保护条件,否则它将在每次运行和部署时继续复制文件。
以下面的情况为例,厨师将在每次运行中执行此操作。
# Extract
execute "tar" do
user "#{tc7user}"
group "#{tc7group}"
installation_dir = "#{tc7target}"
cwd installation_dir
command "tar zxf /tmp/#{tc7tarball}"
action :run
end
为了防止厨师从执行每次运行使用creates
与正在创建的文件的完整路径的参数性能。 下一次Chef运行将看到该文件已创建,并将跳过该文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.