Fabric betiğimi yerel olarak çalıştırmak istiyorum, bu da sırayla sunucumda oturum açacak, kullanıcıyı dağıtmak için değiştirecek, projeleri .virtualenv'i etkinleştirecek, bu da projeye direk değiştirecek ve bir git pull gönderecek.
def git_pull():
sudo('su deploy')
# here i need to switch to the virtualenv
run('git pull')
Ben genellikle virtualenvwrapper'daki workon komutunu kullanırım, hangi etkinleştirme dosyası kaynaklanır ve postactivate dosyası beni proje klasörüne koyar. Bu durumda, kumaş kabuğun içinden çalıştığı için kontrol kumaşa devredilmiş gibi görünüyor, bu nedenle bash'ın yerleşik kaynağını '$ source ~ / .virtualenv / myvenv / bin / activ' için kullanamıyorum.
Bunu nasıl yaptıklarına dair bir örneği ve açıklaması olan var mı?
workon
bir şekildeprefix
?