Fabric: Konfigurieren von Hosts in v2

Erstellt am 14. Mai 2018  ·  4Kommentare  ·  Quelle: fabric/fabric

Hallo! Ist es möglich, hosts entweder in einer Konfigurationsdatei oder in der Fabfile selbst anzugeben?

Ich weiß, dass ich sie über CLI ( -H ) bereitstellen kann, aber wenn das Fabfile für die Kommunikation mit einem bestimmten Server ausgelegt ist, zwingt es den Benutzer nur dazu, ohne triftigen Grund zusätzliche Dinge zu tun.

Die "beste" Lösung, die ich finden konnte, war, die Verbindung von Hand herzustellen, z

<strong i="10">@task</strong>
def my_ls(c):
    conn = Connection('myhost')
    conn.run('ls')

aber das scheint ziemlich schmutzig zu sein, da ich es (1) überall duplizieren muss und (2) das Kontextargument sinnlos macht.

Hilfreichster Kommentar

Stimmt mit allem oben überein. Ich vermisse wirklich die alte env.hosts-Einstellung. Es war schön einfach.

-1, wenn eine andere Konfigurationsdatei wie invoke.yaml oder so weiter benötigt wird. Ich würde Monkey-Patch oder eine Art Import-Hook viel bevorzugen, mit dem ich die Hosts angeben kann.

Es hat auch eine Weile gedauert, bis ich herausgefunden habe, dass ctx.local nicht vorhanden ist, wenn keine Hosts angegeben sind :(

Alle 4 Kommentare

Ich habe die gleiche Frage. Ich habe mir eine Lösung ausgedacht, conn = Connection('myhost') an den Anfang des Fabfiles zu setzen, damit es so aussieht:

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')

....

Aber ich mag die Lösung nicht und denke, dass es eine Möglichkeit geben sollte, eine Standardverbindung in den Kontext einzufügen.

Ich möchte es auch wissen. Es wäre praktisch, Hosts in die Konfigurationsdatei einfügen zu können.

Wenn Sie auch keine Hostliste (mit -H) bereitstellen, wird standardmäßig localhost verwendet. Ich würde gerne eine Option sehen, um diesen Fehler zu verhindern.

Stimmt mit allem oben überein. Ich vermisse wirklich die alte env.hosts-Einstellung. Es war schön einfach.

-1, wenn eine andere Konfigurationsdatei wie invoke.yaml oder so weiter benötigt wird. Ich würde Monkey-Patch oder eine Art Import-Hook viel bevorzugen, mit dem ich die Hosts angeben kann.

Es hat auch eine Weile gedauert, bis ich herausgefunden habe, dass ctx.local nicht vorhanden ist, wenn keine Hosts angegeben sind :(

Siehe Nr. 4!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen