2012-09-02 2 views
1

나는 Fabric을 사용하여 파이썬 응용 프로그램의 배포 프로세스를 지원하는 장고 응용 프로그램을 개발하고 있습니다.파이썬 패브릭 + 데이터베이스의 다중 호스트 구성

나는 적당히 Fabric과 Django를 모두 알고 있지만, 데이터베이스에 저장되는 구성보다 서버에서 배포 및 기타 작업을 수행하기 위해 어떻게 사용해야하는지/모르겠다.

문제는 데이터베이스에 저장된 모든 서버 자격 증명을 필요로하며 fabfile.py (또는 어쨌든 매개 변수화)에서 특정 호스트를 선언하는 대신 사용할 수 있기를 원합니다. 예를 들어 "fab server1_from_database deploy "). fabfile.py를 편집하지 않고 Django 응용 프로그램 자체에서 호스트를 추가/편집/삭제할 수 있어야합니다.

어떻게 든 이것을 달성 할 수 있습니까?

도움을 주셔서 감사합니다. 저는 완전히 여기에서 붙어 있습니다 ...

답변

2

그게 어렵지 않습니다. 당신의 fabfile에서 데이터베이스에서 자격 증명으로 env 객체를 초기화 : 그것은 검증되지 않은,하지만 워드 프로세서 말

from fabric.api import * 

credentials = load_credentials_from_your_db() 
for (hostname, username, password) in credentials: 
    host_string = username + '@' + hostname 
    env.hosts.append(host_string) 
    env.passwords[host_string] = password 

그것을 작동합니다.

+0

고맙습니다. 당신이 제안한 해결책은 매력처럼 작동합니다! – user1029968

관련 문제