Je veux exécuter mon script fabric localement, qui à son tour, se connectera à mon serveur, changera d'utilisateur à déployer, activera les projets .virtualenv, ce qui changera dir vers le projet et émettra un git pull.
def git_pull():
sudo('su deploy')
# here i need to switch to the virtualenv
run('git pull')
J'utilise généralement la commande workon de virtualenvwrapper qui source le fichier d'activation et le fichier de postactivation me placera dans le dossier du projet. Dans ce cas, il semble que parce que le tissu fonctionne à partir de l'interpréteur de commandes, le contrôle est cédé au tissu, donc je ne peux pas utiliser la source intégrée de bash dans '$ source ~ / .virtualenv / myvenv / bin / activate'
Quelqu'un a-t-il un exemple et une explication de la façon dont ils ont fait cela?
workon
tant queprefix
?