[英]Ruby on Rails in a git hook
我正在構建一個Rails應用程序,該應用程序將掛接到git存儲庫中,並在將存儲庫推送到其中時執行一些代碼。 我正在嘗試使用git hooks來做到這一點,但是我似乎無法從所說的hooks中使用Rails應用程序。
我曾嘗試使用railsRunner作為鈎子的shebang(#!/ path / to / railsRunner),但由於該空間在shebangs中不被視為參數分隔符,因此會嘗試執行一個名為“ railsRunner”的文件。 我也曾嘗試以Ruby(#!/ usr / bin / ruby)的身份執行腳本,並包含rails config / environment.rb文件,但這似乎觸發了舊的“ app / models / X.rb預期定義X”錯誤。 我目前沒有代碼,所以我無法粘貼預期的功能來查看代碼中是否僅存在錯誤,但是我只想知道在外部執行Rails代碼的正確方法是什么Rails應用路徑是?
謝謝
您應該可以使用/usr/bin/env
技巧:
#!/usr/bin/env /path/to/rails runner
env
實用程序只是將其參數作為普通命令運行,通常用於對shebang中的內容執行PATH
搜索。
如果@mu太短提示不起作用,則可以嘗試在Rails應用程序內觸發一個方法,將大部分代碼保留在應用程序內,而不是在git掛鈎中。
像這樣:
#!/bin/sh
bundle exec rails runner 'SomeJob.perform'
凡#perform
的方法SomeJob
做實際的工作和你的shell腳本只是調用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.