ฉันต้องการใช้ Fabric เพื่อปรับใช้โค้ดเว็บแอปของฉันกับเซิร์ฟเวอร์การพัฒนาการจัดเตรียมและการใช้งานจริง 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
ตัวอย่างผลลัพธ์:
host:folder user$ fab deploy_2_dev
env.hosts: []
env.hosts: ['dev']
No hosts found. Please specify (single) host string for connection:
เมื่อฉันสร้างset_hosts()
งานตามที่แสดงในเอกสาร Fabric env.hosts จะถูกตั้งค่าอย่างถูกต้อง อย่างไรก็ตามนี่ไม่ใช่ตัวเลือกที่เป็นไปได้และไม่ใช่มัณฑนากร การส่งโฮสต์ในบรรทัดคำสั่งในที่สุดจะส่งผลให้เชลล์สคริปต์บางประเภทเรียก fabfile ฉันต้องการให้เครื่องมือเดียวทำงานได้อย่างถูกต้อง
ในเอกสาร Fabric ระบุว่า 'env.hosts เป็นเพียง Python list object' จากการสังเกตของฉันนี่ไม่เป็นความจริง
ใครช่วยอธิบายได้ไหมว่าเกิดอะไรขึ้นที่นี่? ฉันจะตั้งค่าโฮสต์ให้ใช้งานได้อย่างไร