Ruby on rails 在git提交上重新启动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

我正在为RubyonRails项目设置一个共享开发服务器

有没有一种好方法可以将其设置为重新启动,或者在每次有人将提交推送到主分支时重新加载代码(例如)?我不在乎每次都设置gems等等,我只想运行新代码

如果有任何问题,我可以进入并手动重新启动服务器-我只是不想每次都这样做。

在post-receive钩子中,您很可能需要grep获取Ruby PID,终止该进程,然后重新启动Rails服务器。

在post-receive钩子中,您很可能需要grep获取Ruby PID,终止该进程,然后重新启动Rails服务器。

就是您要寻找的

使用这些命令,可以根据特定条件运行自定义命令

.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
实例,则此示例将产生意外后果。