Comment définir les hôtes de la cible dans le Tissu de fichier

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() 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 ?

  • J'ai le même problème, avez vous trouvé une solution à cela?
  • pour exécuter la même tâche sur plusieurs serveurs, utilisez "fab-H mise en scène-serveur,la production de serveur de déployer"... de plus dans ma réponse ci-dessous: stackoverflow.com/a/21458231/26510
  • Essayez ceci: docs.fabfile.org/en/1.13/usage/env.html#passwords
  • Cette réponse ne s'applique pas à la matrice 2+. Si quelqu'un de plus familier avec Stackoverflow conventions pourraient modifier la question ou la question du titre de se référer à la matrice 1 il pourrait être utile.
InformationsquelleAutor ssc | 2010-02-24