Je veux utiliser le Tissu pour déployer mon code d'application web pour le développement, la mise en scène et les serveurs de production. Mon fabfile:
def deploy_2_dev():
deploy('dev')
def deploy_2_staging():
deploy('staging')
def deploy_2_prod():
deploy('prod')
def deploy(server):
print 'env.hosts:', env.hosts
env.hosts = [server]
print 'env.hosts:', env.hosts
Exemple de sortie:
host:folder user$ fab deploy_2_dev
env.hosts: []
env.hosts: ['dev']
No hosts found. Please specify (single) host string for connection:
Quand je crée un set_hosts()
de la tâche, comme indiqué dans le Tissu docs, env.hôtes est correctement réglé. Cependant, ce n'est pas une option viable, ni un décorateur. En passant hôtes sur la ligne de commande, cela aboutirait à une sorte de script shell qui appelle la fabfile, je préfère avoir un seul outil faire le travail correctement.
Il est dit dans le Tissu docs que " env.hôtes est simplement une liste Python objet". À partir de mes observations, ce n'est tout simplement pas vrai.
Quelqu'un peut-il expliquer ce qui se passe ici ? Comment puis-je régler l'hôte à se déployer ?