2009-07-20 26 views
1

我對Capistrano的使用有了一整天的瞭解。真的是一個不錯的工具,可以爲我節省很多時間。我真的想用它來部署我的許多PHP應用程序之一:)有關默認部署的問題Capistrano for PHP項目和config.php中的任務

如果我有一個$ env =「開發」變量的config.php。有沒有辦法讓Capistrano將這個變量改爲「生產」?或者我應該忘記它,並將它符號鏈接到共享?

歡呼 吉列爾莫

回答

0

我想保持這樣的配置文件分開 - 這使得它更加具體和明確。如何保持這些獨立和部署是由你自己決定的。通過分支我的代碼進行開發,分級和生活,我獲得了相當積極的結果 - 但我也看到了從外部分支合併(即三次)的情況,對於較大的項目來說是一個完整的噩夢。

另外,你可能有config.php,config.php.live等 - 但這需要手動維護。

您的里程顯然會有所不同,我的配置文件往往會在部署之間存在多個不同的變量,因此,這種額外的體系結構爲自己付出了代價。

如果你仍想與Capistrano的做到這一點 - 你可以用sed來改變使用正則表達式該行:

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

明顯,運行這個文件一旦被部署。

+0

實際上我用我的設置鏈接此: $ ENV = 「開發」 $ CONF [ 「開發」] [ 「DB_HOST」] = 「XXXXX」 $ CONF [ 「生產」] [ 「DB_HOST」] =「 yyyyyy「 所以,這個命令就足夠了。 坦克你 – Guillermo 2009-07-20 16:31:07