Esiste un modo migliore per eseguire ansible all'interno di una virtualenv sulle macchine remote?Il modo migliore per eseguire sempre ansible all'interno di una virtualenv su macchine remote?
Finora il modo in cui posso vedere è modificare il file .bashrc, manualmente o con ansible stesso.
Ad esempio:
tasks:
- name: "Enable virtualenv in .bashrc"
lineinfile: dest=.bashrc
line="source {{ PROJECT_HOME }}/venv/bin/activate"
#
# Put tasks that rely on this precondition here (?)
#
# Optionally, disable this later on
- name: "Disable virtualenv in .bashrc"
lineinfile: dest=.bashrc
line="source {{ PROJECT_HOME }}/venv/bin/activate"
state=absent
TODO: Controllare se i modi in cui potrebbe essere fatto utilizzando ssh autorizzato tasti: http://binblog.info/2008/10/20/openssh-going-flexible-with-forced-commands/
bella soluzione - presumibilmente i compiti "reali" andare dopo i compiti codice guardia. Penso che la parte "file pyenv wrapper" alla fine abbia un errore di battitura nel nome - dovrebbe essere 'pyvenv' per abbinare i compiti di Ansible. Anche le citazioni di shell annidate senza escape in quello script sembrano un po 'strane, ma finché funziona ... – RichVel