Ubuntu Webhook がインストールされている正しい RVM Ruby を読み取らない
概要
bash スクリプトを実行することで、マシン上で自動的に Ruby の処理を行うために、システムに Webhook を設定しようとしています。問題は、スクリプトを手動で実行するときに使用される Ruby が、フックを使用して実行される Ruby とは異なることです。
以下は、Ruby 値を出力する単純な bash スクリプト (test-ruby.sh) です。
#!/bin/sh
echo 'Tetsing...'
ruby -v;
which ruby;
bundle -v;
which bundle;
以下は、sh test-ruby.sh 経由で実行した場合の出力です。
以下は、フックを介して同じスクリプトをトリガーした場合の出力です。
注意事項:
解決策
#1 ファイルの先頭は次のようになります。
#!/bin/bash
#2 スクリプトの先頭で RVM 環境を強制的にロードする
[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm" # Load RVM into a shell session as a function