簡體   English   中英

git鈎子中的Ruby on Rails

[英]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.

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