Fabric: تكوين المضيفات في الإصدار 2

تم إنشاؤها على ١٤ مايو ٢٠١٨  ·  4تعليقات  ·  مصدر: fabric/fabric

أهلا! هل من الممكن تحديد hosts إما في ملف التكوين أو الملف fabfile نفسه؟

أعلم أنه يمكنني توفيرها عبر CLI ( -H ) ، ولكن إذا كان ملف fabfile مصممًا للتواصل مع خادم معين ، فإنه يجبر المستخدم على القيام بأشياء إضافية دون سبب وجيه.

كان الحل "الأفضل" الذي استطعت اكتشافه هو إنشاء الاتصال يدويًا ، على سبيل المثال

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

لكن هذا يبدو سيئًا تمامًا لأنني بحاجة إلى (1) تكراره في كل مكان و (2) يجعل حجة السياق بلا معنى.

التعليق الأكثر فائدة

متفق عليه مع كل ما سبق. أنا حقا أفتقد الإعداد القديم env.hosts. كان جميلًا بسيطًا.

-1 عند الحاجة إلى ملف تهيئة آخر مثل invoke.yaml أو whatnot. أنا أفضل بكثير من التصحيح القرد أو نوع من ربط الاستيراد الذي يسمح لي بتحديد المضيفين.

لقد استغرق الأمر أيضًا بعض الوقت لأكتشف أن ctx.local غير موجود إذا لم يتم تحديد أي مضيف :(

ال 4 كومينتر

لدي نفس السؤال. توصلت إلى حل يتمثل في وضع conn = Connection('myhost') في بداية ملف fabfile بحيث يبدو كالتالي:

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

....

لكني لا أحب الحل وأشعر أنه يجب أن تكون هناك طريقة لإدخال اتصال افتراضي في السياق.

أود أن أعرف أيضًا. سيكون من المناسب أن تكون قادرًا على وضع المضيفين في ملف التكوين.

لا تقدم أيضًا قائمة المضيف (مع -H) الافتراضية للمضيف المحلي. أود أن أرى خيارًا لمنع هذا / رفع الخطأ.

متفق عليه مع كل ما سبق. أنا حقا أفتقد الإعداد القديم env.hosts. كان جميلًا بسيطًا.

-1 عند الحاجة إلى ملف تهيئة آخر مثل invoke.yaml أو whatnot. أنا أفضل بكثير من التصحيح القرد أو نوع من ربط الاستيراد الذي يسمح لي بتحديد المضيفين.

لقد استغرق الأمر أيضًا بعض الوقت لأكتشف أن ctx.local غير موجود إذا لم يتم تحديد أي مضيف :(

انظر # 4!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات