Tôi muốn sử dụng Fabric để triển khai mã ứng dụng web của mình tới các máy chủ phát triển, dàn dựng và sản xuất. Fabfile của tôi:
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
Đầu ra mẫu:
host:folder user$ fab deploy_2_dev
env.hosts: []
env.hosts: ['dev']
No hosts found. Please specify (single) host string for connection:
Khi tôi tạo một set_hosts()
tác vụ như được hiển thị trong tài liệu Vải , env.hosts được đặt đúng cách. Tuy nhiên, đây không phải là một lựa chọn khả thi, thợ trang trí cũng vậy. Chuyển các máy chủ trên dòng lệnh cuối cùng sẽ dẫn đến một số loại kịch bản shell gọi fabfile, tôi muốn có một công cụ duy nhất thực hiện công việc đúng cách.
Nó nói trong tài liệu Fabric rằng 'env.hosts chỉ đơn giản là một đối tượng danh sách Python'. Từ quan sát của tôi, điều này đơn giản là không đúng.
Bất cứ ai có thể giải thích những gì đang xảy ra ở đây? Làm cách nào để đặt máy chủ để triển khai?