如何使用CHEF运行JAR文件?

5
我在Ubuntu虚拟机上有一个工作的jar文件。我需要创建一个Chef配方来:
  1. 执行jar文件 - (例如:运行命令:java -jar name.jar)
  2. 当新的jar文件部署时停止执行。
CHEF能够实现这个吗?
敬礼, Aditya Chaudhary

你看过文档了吗?例如:http://docs.getchef.com/resource_deploy.html。你是否保存了你想要重启的进程的 .pid 文件? - FoggyDay
我最近发现了Dropwizard Cookbook。它作为可执行的jar包运行,并在目标服务器上设置服务。您可以利用这个Cookbook:https://supermarket.getchef.com/cookbooks/dropwizard - Mark O'Connor
看起来对我来说是有效的... 对我很有帮助!谢谢 - TriCore
1个回答

3

有很多选择。最简单的可能是:

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 execution in background


请告诉我在 Cook Book 中需要将我的 jar 和 yaml 文件放置在哪个路径。 - madhu
只需更改“command”中的内容:“java -jar <path to your file>/file.jar”。JAR文件本身不应该是菜谱的一部分。 - Display Name is missing
你的意思是不需要将 jar 文件复制到 cookbook 内。我需要将 jar 文件复制到我的节点中的任何路径,并且我也有 yml 文件。 - madhu
我遇到了这个错误:在目录中执行run app.jar操作的资源execute[run]无法执行。 - madhu
请提出一个新问题并附上您的配方,有人会尽快回答。请确保包含详细信息和格式。 - Display Name is missing

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接