Ruby on rails 在git提交上重新启动rails服务器
我正在为RubyonRails项目设置一个共享开发服务器 有没有一种好方法可以将其设置为重新启动,或者在每次有人将提交推送到主分支时重新加载代码(例如)?我不在乎每次都设置gems等等,我只想运行新代码 如果有任何问题,我可以进入并手动重新启动服务器-我只是不想每次都这样做。 在post-receive钩子中,您很可能需要grep获取Ruby PID,终止该进程,然后重新启动Rails服务器。 在post-receive钩子中,您很可能需要grep获取Ruby PID,终止该进程,然后重新启动Rails服务器。就是您要寻找的 使用这些命令,可以根据特定条件运行自定义命令 在Ruby on rails 在git提交上重新启动rails服务器,ruby-on-rails,git,Ruby On Rails,Git,我正在为RubyonRails项目设置一个共享开发服务器 有没有一种好方法可以将其设置为重新启动,或者在每次有人将提交推送到主分支时重新加载代码(例如)?我不在乎每次都设置gems等等,我只想运行新代码 如果有任何问题,我可以进入并手动重新启动服务器-我只是不想每次都这样做。 在post-receive钩子中,您很可能需要grep获取Ruby PID,终止该进程,然后重新启动Rails服务器。 在post-receive钩子中,您很可能需要grep获取Ruby PID,终止该进程,然后重新启动R
.git/hooks
文件夹下创建一个名为post commit
的文件,如下所示:
#!/bin/sh
exec rake deploy
在你的耙子里
task :deploy do
pid = IO.open("ps").grep(/script\/rails/) { |x| x.split(" ").first }.first
sh "kill -9 #{pid}"
sh "rails s"
end
这就是你要找的
使用这些命令,可以根据特定条件运行自定义命令
在.git/hooks
文件夹下创建一个名为post commit
的文件,如下所示:
#!/bin/sh
exec rake deploy
在你的耙子里
task :deploy do
pid = IO.open("ps").grep(/script\/rails/) { |x| x.split(" ").first }.first
sh "kill -9 #{pid}"
sh "rails s"
end
我对它们没有太多的经验,但你可以查看本机。我对它们没有太多经验,但你可以查看本机。必须有一种更干净的方法来获取服务器进程的pid。一定要检查一下。如果在您的计算机上运行多个
rails
实例,此示例将产生意外的后果。必须有一种更干净的方法来获取服务器进程的pid。一定要检查一下。如果在计算机上运行多个rails
实例,则此示例将产生意外后果。