5 Stimmen

Gemeinsame Nutzung einer Fabfile für mehrere Projekte

Stoff ist mein bevorzugtes Verteilungswerkzeug geworden, sowohl für die Verteilung von Django Projekte und für die Erstkonfiguration von Ubuntu Scheiben . Mein derzeitiger Arbeitsablauf mit Stoff ist nicht sehr DRY wie ich mich selbst finde:

  1. Kopieren der fabfile.py von einem Django Projekt zu einem anderen und
  2. die Änderung der fabfile.py nach Bedarf für jedes Projekt (z. B. Änderung der webserver_restart Aufgabe von Apache zu Nginx, Konfiguration des Hosts und des SSH-Ports usw.).

Ein Vorteil dieses Arbeitsablaufs ist, dass die fabfile.py wird Teil meiner Git Repository, also zwischen dem fabfile.py とのことです。 pip requirements.txt Ich habe ein wiederherstellbares virtualenv und Einführungsprozess. Ich möchte diesen Vorteil beibehalten, aber gleichzeitig mehr DRY . Es scheint, dass ich meinen Arbeitsablauf verbessern könnte, indem ich:

  1. fähig zu sein pip install die gemeinsamen Aufgaben, die in der fabfile.py y
  2. mit einer fab_config Datei, die die Host-Konfigurationsinformationen für jedes Projekt enthält, und überschreibt alle Aufgaben nach Bedarf

Irgendwelche Empfehlungen, wie man die DRY ness meiner Stoff Arbeitsablauf?

2voto

Carl Meyer Punkte 113574

Ich habe einige Arbeit in dieser Richtung mit klassenbasierten "Server-Definitionen" getan, die Verbindungsinformationen enthalten und Methoden überschreiben können, um bestimmte Aufgaben auf eine andere Weise zu erledigen. Dann ruft mein fabfile.py (das sich nie ändert) einfach die richtige Methode auf dem Serverdefinitionsobjekt auf.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X