gpt4 book ai didi

playframework - Capistrano 和 PlayFramework

转载 作者:行者123 更新时间:2023-12-02 00:29:57 29 4
gpt4 key购买 nike

我正在努力让 capistrano 发布我的 PlayFramework 应用程序,但我在运行命令时遇到了一些问题。

发生的事情是 cap 运行 Play 开始命令并且它似乎正在启动,但是当我执行一个

ps aux | grep java

没有正在运行的 Play 应用程序。

如果我从 cap 输出复制命令并在服务器上本地运行它,它会正常工作。

capistrano run 命令是否杀死了 Play 生成的子进程?

如何防止 Capistrano 终止进程?

我的部署.rb

default_run_options[:pty] = true
set :application, "Intranet"
set :domain, "intranet.example.com"
set :deploy_to, "/srv/#{domain}"
set :play_path, "/usr/local/play/play"
set :shared_path, "#{deploy_to}/shared"
set :app_pid, "#{shared_path}/pids/server.pid"
set :app_path, "#{deploy_to}/current"

set :scm, :git
set :user, "myuser"
set :repository, "git@store.example.com:intranet.git"

ssh_options[:forward_agent] = true
set :deploy_via, :remote_cache
set :keep_releases, 3

role :web, domain
role :app, domain
role :db, domain, :primary => true

namespace :deploy do
task :start do
run "rm -f #{app_pid};#{play_path} start #{app_path} --deps --pid_file=#{app_pid} --%prod"
end

task :restart do
stop
start
end

task :stop do
run "#{play_path} stop #{app_path} --pid_file=#{app_pid}"
end
end

namespace :play do
desc "view running play apps"
task :viewprocess do
run "#{sudo} ps -ef | grep 'play/framework'"
end

desc "kill play processes"
task :kill do
run "#{sudo} ps -ef | grep 'play/framework' | grep -v 'grep' | awk '{print $2}'| xargs -i kill {} ; echo ''"
end

desc "view logfiles"
task :tail_logs, :roles => :app do
run "tail -f #{shared_path}/log/system.out" do |channel, stream, data|
puts # for an extra line break before the host name
puts "#{channel[:host]}: #{data}"
break if stream == :err
end
end

end

最佳答案

只是想告诉你,我通过稍微调整一下你的脚本并添加其他内容,成功地远程启动了游戏。
您的问题是您必须在 nohup + & 中启动远程进程,但由于未知原因 & 在 Capistrano 中不起作用。我找到了解决方法。
我非常有动力,所以我决定制作一个游戏模块。
它的第一个版本在那里:https://github.com/mandubian/play-capistrano

关于playframework - Capistrano 和 PlayFramework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7416662/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com