2016-04-08 9 views
1

Ich entwickelte eine Ansible role, die chruby und another one installiert, die Ruby mit Ruby-Install installiert.Wie kann ich chruby mit Ansible laufen?

Ich mag chruby in meinem ansible Playbooks verwenden, aber der chruby Befehl an die command und shell Module nicht verfügbar, auch wenn chruby funktioniert gut, wenn ich über SSH mit dem gleichen Benutzer anmelden ich mit dem Textbuch leite.

Dies ist, was ich versucht:

  1. dass chruby sicherzustellen, ist durch den Einsatz des folgenden Skripts zu /etc/profile.d/chruby.sh allen Benutzern zur Verfügung, wie es in chruby's README vorgeschlagen:

    if [ -n "$BASH_VERSION" ] || [ -n "$ZSH_VERSION" ]; then 
        source /usr/local/share/chruby/chruby.sh 
        source /usr/local/share/chruby/auto.sh 
    fi 
    
  2. eine Aufgabe Laufen mit die Module command oder shell (mit /bin/bash als ausführbare Datei), um source /usr/local/share/chruby/chruby.sh und source /usr/local/share/chruby/auto.sh manuell auszuführen, bevor a command Aufgabe für chruby

In beiden Fällen erhielt ich folgende Fehlermeldung: chruby: command not found.

Wie kann ich chruby in einem Ansible abspielen?

+0

Würden Sie versuchen Sie bitte die 'PATH' Umgebung zu setzen? Sie können die FAQ (http://docs.ansible.com/ansible/faq.html) überprüfen. – longhua

+1

Ja, aber es besiegt den Zweck von chruby ich glaube ... –

Antwort

1

Sie können einfache bash/etc Skript schreiben, oder Sie können diese Dateien Quelle:

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