2016-04-08 6 views
1

私はruby-installを使ってrubyをインストールするchrubyとanother oneをインストールするAnsible roleを開発しました。どうすればチャービーをアンサーシブルで走らせることができますか?

私は私のAnsibleプレイブックにchruby使用したいのですが、chrubyコマンドは、私は私が脚本を実行しているユーザーと同じユーザーでSSH経由でログインした場合chrubyが正常に動作しても、commandshellモジュールには使用できません。

これは私が試したものです:chruby's READMEで提案されているように、そのchrubyを確保

  1. は、/etc/profile.d/chruby.shに次のスクリプトを展開することにより、すべてのユーザーに提供されています:

    でタスクを実行する
    if [ -n "$BASH_VERSION" ] || [ -n "$ZSH_VERSION" ]; then 
        source /usr/local/share/chruby/chruby.sh 
        source /usr/local/share/chruby/auto.sh 
    fi 
    
  2. commandまたはshellモジュール(実行可能ファイルとして/bin/bashを使用)を手動で実行してから、source /usr/local/share/chruby/chruby.shおよびsource /usr/local/share/chruby/auto.shを実行してから、どちらの場合もchruby

ためcommandタスクは、私は次のエラーを得た:chruby: command not found

私はどのようにしてAnru playでchrubyを実行できますか?

+0

あなたは 'PATH'環境を設定してみませんか。 FAQ(http://docs.ansible.com/ansible/faq.html)を確認することができます。 – longhua

+1

はい、それはchrubyの目的を破っていると私は信じています... –

答えて

1

あなたは、単純なbashのは/ etcスクリプトを書くことができるか、あなたはそれらのファイルをソースすることができます

shell: bash -c "source /usr/local/share/chruby/chruby.sh; source /usr/local/share/chruby/auto.sh;chruby ..."