我正在使用厨师自动部署。因为需要启动jboss所以我使用此代码启动它。
bash "jboss_checking" do
code <<-EOL
JBOSS_DIR='/home/Documents/jboss-as-7.1.1.Final'
cd $JBOSS_DIR
nohup ./bin/standalone.sh -b 0.0.0.0 --server-config=standalone-full.xml -bmanagement 0.0.0.0 &
EOL
end
当我运行这个脚本jboss不会启动时。当我在.sh文件中放入相同的命令并运行它时,jboss启动了。谁能告诉我需要改变的地方?
我发现了新方法。如果我删除'&amp;'从这一行
“nohup ./bin/standalone.sh -b 0.0.0.0 --server-config = standalone-full.xml -bmanagement 0.0.0.0&amp;”
JBOSS正在运行,但它暂停了主厨脚本以继续。
答案 0 :(得分:1)
我可能会这样做:
bash 'jboss_checking' do
code <<-EOL
nohup ./bin/standalone.sh -b 0.0.0.0 --server-config=standalone-full.xml -bmanagement 0.0.0.0 &
EOL
user '...username...'
cwd '/home/Documents/jboss-as-7.1.1.Final'
environment(
'JAVA_HOME' => '...'
)
end
其中
更好的解决方案是部署sysv-init / upstart / systemd / launchd脚本......