コマンドを実行するだけのpost-merge
フックがgitリポジトリにありますjekyll
。
実行するgit pull
とpost-merge
問題なく実行されます。
ただし、リモートのWebHookとして機能するPHPファイルをセットアップしました。
$pull = `cd .. && git pull`;
echo $pull;
このファイルにアクセスすると、git pullが実行され(いくつかの初期の問題の後)、成功します。ただし、何らかの理由でpost-merge
失敗します。Apacheの内部を見るとerror_log
、次のエラーが見つかります。
.git/hooks/post-merge: line 5: jekyll: command not found
SSH経由post-merge
で手動を実行すると、jekyllが正常に実行されることを考えると、これは奇妙なことです。git pull
ここで提案されているように実行可能ファイルへのフルパスを使用して実行すると、次のエラーが発生しますerror_log
。
/usr/bin/env: ruby_noexec_wrapper: No such file or directory
RVMを介してRubyをインストールしました。
どうすればapache
ユーザーを問題なく実行させることができjekyll
ますか?
編集:これが私の現在のpost-merge
:
#!/bin/sh
unset GIT_DIR
source /usr/local/rvm/environments/ruby-1.9.3-p194
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/jekyll
echo "Deployed!"
これをユーザーとして実行すると、次のapache
エラーが発生します。
Node.jsがインストールされます。