2009-07-20 7 views
1

Ich habe einen ganzen Tag die Verwendung von Capistrano zu verstehen. Ist wirklich ein nettes Werkzeug, das mir viel Zeit sparen wird. Ich möchte es tatsächlich verwenden, um eine meiner vielen PHP-Apps bereitzustellen :)Fragen über die Standard-Deployment-Aufgabe in Capistrano für PHP-Projekt und config.php

Wenn ich eine config.php mit einer Variable $ env = "Entwicklung" habe. Gibt es eine Möglichkeit, Capistrano dazu zu bringen, diese Variable für mich zu "Produktion" zu machen? Oder sollte ich es vergessen und symlink es teilen?

prost Guillermo

Antwort

0

mag ich solche Konfigurationsdateien getrennt halten - es macht es präziser und explizit. Wie diese getrennt und bereitgestellt werden, liegt in Ihrem eigenen Ermessen. Ich hatte ziemlich positive Ergebnisse, als ich meinen Code für Entwicklung, Inszenierung und Live-Entwicklung veräußerte - aber ich habe auch Situationen gesehen, in denen das Zusammenführen von einer externen Branche (dh dreimal) bei größeren Projekten ein Albtraum ist.

Alternativ könnten Sie config.php, config.php.live, etc - aber das erfordert manuelle Wartung.

Ihre Meilen werden natürlich variieren, meine Konfigurationsdateien neigen dazu, mehr als eine Variable zwischen den Bereitstellungen zu unterscheiden, und als solche zahlt sich diese zusätzliche Architektur für sich aus.

Wenn Sie tun es immer noch mit Capistrano tun - können Sie sed verwenden, um diese Zeile zu ändern, um einen regulären Ausdruck:

sed -i 's/$env=\"development\"/$env=\"production\"/' config.php 

offensichtlich, diese läuft, sobald die Datei bereitgestellt wird.

+0

ich meine Einstellungen tatsächlich verwenden Link zu diesem: $ env = "dev" $ conf [ "dev"] [ "db_host"] = "xxxxx" $ conf [ "Produktion"] [ "db_host"] = " yyyyyy " Also wird dieser Befehl genug sein. Tank Sie – Guillermo