Salut! Est-il possible de spécifier hosts
soit dans un fichier de configuration, soit dans le fabfile lui-même ?
Je sais que je peux les fournir via CLI ( -H
), mais si le fabfile est conçu pour communiquer avec un serveur spécifique, cela oblige simplement l'utilisateur à faire des choses supplémentaires sans raison valable.
La "meilleure" solution que j'ai pu trouver était de créer la connexion à la main, par exemple
<strong i="10">@task</strong>
def my_ls(c):
conn = Connection('myhost')
conn.run('ls')
mais cela semble assez sale car j'ai besoin de (1) le dupliquer partout et (2) cela rend l'argument de contexte inutile.
J'ai la même question. J'ai trouvé une solution consistant à mettre conn = Connection('myhost')
au début du fabfile pour qu'il ressemble à ceci :
conn = Connection('myhost')
<strong i="7">@task</strong>
def my_ls(c):
conn.run('ls')
<strong i="8">@task</strong>
def my_cd(c):
conn.run('cd')
....
Mais je n'aime pas la solution et je pense qu'il devrait y avoir un moyen d'injecter une connexion par défaut dans le contexte.
J'aimerais bien savoir aussi. Ce serait pratique de pouvoir mettre des hôtes dans le fichier de configuration.
De plus, ne pas fournir de liste d'hôtes (avec -H) est par défaut localhost. J'aimerais voir une option pour empêcher cette erreur/provoquer une erreur.
D'accord avec tout ce qui précède. L'ancien paramètre env.hosts me manque vraiment. C'était magnifiquement simple.
-1 pour avoir besoin d'un autre fichier de configuration comme invoke.yaml ou autre. Je préférerais de loin un patch de singe ou une sorte de crochet d'importation qui me permette d'indiquer les hôtes.
Il m'a également fallu un certain temps pour comprendre que ctx.local
n'est pas présent si aucun hôte n'est spécifié :(
Voir #4 !
Commentaire le plus utile
D'accord avec tout ce qui précède. L'ancien paramètre env.hosts me manque vraiment. C'était magnifiquement simple.
-1 pour avoir besoin d'un autre fichier de configuration comme invoke.yaml ou autre. Je préférerais de loin un patch de singe ou une sorte de crochet d'importation qui me permette d'indiquer les hôtes.
Il m'a également fallu un certain temps pour comprendre que
ctx.local
n'est pas présent si aucun hôte n'est spécifié :(