Fabric-ийн алсын командууд SSH-ээр явдаг. Тэр SSH холболтыг SOCKS серверээр дамжуулахын тулд Fabric-д SOCKS ярьж, очих цэгийн байт урсгалыг буцаадаг холбогч өгнө үү.

Fabric 2-т нэвтрүүлсэн Connection API нь командын мөрийг өөрийн gateway болгон авдаг. Fabric тэр мөрийг ProxyCommand болгон ашигладаг. Прокси тохиргоог дэмждэг OpenBSD-тэй нийцтэй nc байгаа бол тохиргоо дараах байдалтай байж болно:

from fabric import Connection

connection = Connection(
    "app.example.net",
    user="deploy",
    gateway="nc -X 5 -x proxy.example.net:1080 %h %p",
)

Энэ жишээ ердийн SSH порт болох 22-ыг ашигладаг. Холбогчийн -X 5 SOCKS5-ыг сонгож, -x проксийн төгсгөлийн цэгийг заана. Хост ба портын орлуулагчид SSH очих цэгийг өгнө. Нийтийн SSH очих цэгийн хувьд SOCKS5 проксийн жагсаалтаас баталгаажуулалтгүй төгсгөлийн цэг нь тухайн очих цэг болон портыг зөвшөөрвөл проксийн хаягийг бөглөж болно. Командыг машин дээр суулгасан бодит холбогчийн сонголтоор тохируулна уу; nc нэртэй програмууд бүгд ижил интерфэйс өгдөггүй.

Холбогч нь Fabric ажиллаж буй газарт локалаар ажиллана. Аппликейшн сервер нь зөвхөн SSH очих цэг учраас тэр туслах хэрэгсэл хэрэггүй. Урсгал тогтсоны дараа ч Fabric SSH хэлэлцээрийг хийж, deploy бүртгэлийг app.example.net дээр баталгаажуулна. SOCKS серверийн шаарддаг аливаа баталгаажуулалт холбогчид хамаарах бөгөөд түүний дэмжлэгтэй байх ёстой.

Fabric мөн ProxyCommand-г SSH тохиргооноос уншиж болно. Ижил замыг хэд хэдэн SSH хэрэгсэл ашиглах үед энэ нь тохиромжтой байж болно. Холболтод зориулсан нэг гарцын тодорхойлолт ашиглана уу, ижил очих цэгт командын хэв маягийн гарц ба тусдаа үсрэх хост гарцыг хослуулахгүй байна.

Зуучлагч нь SSH сервер байх үед

Fabric-ийн Connection объектыг gateway болгон өгөх нь өөр утгатай: Fabric тэр SSH гарцад холбогдож, эцсийн хост руу суваг хүснэ. SSH үсрэх хостод тэр хэлбэрийг ашиглана уу. SOCKS сонсогч нь SSH сервер биш тул дээрх командын хэв маягийн холбогч хэрэгтэй.

Энэ тээврийн сонголт мөн тодорхой хязгаартай. Энэ нь Fabric-ийн SSH холболтыг чиглүүлдэг. Алсын хост дээр ажиллаж, дараа нь репозитори эсвэл багц татдаг команд нь тухайн програмын өөрийн прокси тохиргооны дагуу тэр хостээс шинэ гадагш холболт үүсгэдэг.

Холбоотой нийтлэлүүд