簡體   English   中英

在git commit上重啟Rails服務器

[英]Restart rails server on git commit

我正在為Ruby on Rails項目設置共享開發服務器。

有沒有什么好方法可以將其設置為重新啟動,或者在有人將提交推送到master分支時重新加載代碼(例如)? 我不在乎每次都設置寶石等等,在Heroku中-我只想運行新代碼。

如果有任何問題,我可以手動進入並重新啟動服務器-我只是不想每次都這樣做。

接收后掛鈎在整個過程完成之后運行,並且可以用於更新其他服務或通知用戶。

在接收后掛鈎中,您很可能需要grep獲取Ruby PID,殺死該進程,然后重新啟動Rails服務器。

Git Hooks是您要找的東西。

使用這些,您可以根據特定條件運行自定義命令。

.git/hooks文件夾下創建一個名為post-commit文件,如下所示:

#!/bin/sh

exec rake deploy

在您的Rakefile中

task :deploy do
  pid = IO.open("ps").grep(/script\/rails/) { |x| x.split(" ").first }.first
  sh "kill -9 #{pid}"
  sh "rails s"
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM