Совместное использование файла в нескольких проектах - PullRequest
5 голосов
/ 31 марта 2010

Fabric стал моим предпочтительным инструментом развертывания как для развертывания Django проектов, так и для первоначальной настройки Ubuntu slices .Тем не менее, мой текущий рабочий процесс с Fabric не очень DRY , так как я нахожу:

  1. , копирующий fabfile.py из одного Django проект для другого и
  2. изменение fabfile.py по мере необходимости для каждого проекта (например, изменение задачи webserver_restart с Apache на Nginx, настройка хоста и порта SSH и т. Д.).

Одним из преимуществ этого рабочего процесса является то, что fabfile.py становится частью моего Git репозитория, поэтому между fabfile.py и pip requirements.txt,У меня есть воссоздаваемый virtualenv и процесс развертывания.Я хочу сохранить это преимущество, становясь все более и более DRY .Кажется, что я мог бы улучшить свой рабочий процесс:

  1. , имея возможность pip install общих задач, определенных в fabfile.py и
  2. , имеющих файл fab_config, содержащий хостинформация о конфигурации для каждого проекта и переопределение любых задач по мере необходимости

Любые рекомендации по увеличению СУХОГО моего рабочего процесса Fabric ?

1 Ответ

2 голосов
/ 05 апреля 2010

Я проделал некоторую работу в этом направлении с «определениями серверов» на основе классов, которые включают информацию о соединении и могут переопределять методы для выполнения определенных задач другим способом. Затем мой файл fabfile.py (который никогда не изменяется) просто вызывает правильный метод для объекта определения сервера.

...