2008-11-01 28 views
12

我已經在幾個PHP項目上工作過,並且總是在組織工作時遇到問題。你在哪裏開發你的應用程序 - 在本地主機,遠程服務器或可能是生產(!)? 當我在做一些主要路徑後,在我的本地主機上工作時,我通過ftp發送了新文件 - 但有時它恰巧忘記了一個文件,並且只是爲了瀏覽幾個directiores來複制已更改的文件而感到累人。 你提出了哪些最佳實踐?你如何管理PHP項目開發生命週期?

回答

10

這是我們如何管理我們的商業網站

  1. 開發在當地的沙盒
  2. 入住到SVN
  3. 自動構建/從SVN測試到內部 開發服務器
  4. 腳本部署使用rsync登臺 QA/UAT服務器
  5. 腳本部署到生產 服務器。

分段和生產服務器都由ISP託管,並且硬件和版本匹配並運行RHEL,內部Dev服務器與版本匹配的CentOS。

這樣,當代碼擊中生產服務器不應該有任何討厭的驚喜,因爲即使部署腳本獲取階段檢查4

+1

我們除了我們使用SVN結帳,使舞臺構建做同樣的事情(允許指定修訂#或標籤 - 的情況下,後備箱undeployable) - 然後使用rsync,確保生產完全匹配階段。 – DavidWinterbottom 2008-11-02 10:46:19

0

我正在開發一個與生產環境相同的開發環境 - 它可以防止由於不同版本或配置而導致的某些不同行爲。完成後,我只是將所有文件移動到生產服務器上。

Winmerge是一個不錯的和免費的Windows工具來區分開發和生產機器之間的文件。

+0

是不是就像有一個控制系統版本不回去的時間的能力嗎? – 2008-11-01 22:32:55

1

Google App Engine有一個適用的工具,可自動上傳到生產環境修改的文件;不知道PHP是否有類似的東西。 所以,做一個dev2prod腳本(一個自動執行此操作的腳本)應該是一個很好的解決方案。

要做本地源文件管理,大家可能會建議你使用source code control system

0

在本地計算機發展與完全相同的配置,你的開發環境(即apache mods,php擴展等),使用版本控制系統(我更喜歡SVN)來跟蹤修改過的文件,以及哪些不是。

然後,您可以在生產環境或測試環境中編寫腳本,將文件從存儲庫複製/更新到Web服務器路徑。

0

可能得到告訴過改向老的文章,但這裏是一個使用免費的工具,它,我該怎麼辦:

我使用NetBeans,Git的,到位桶,源代碼樹,gitflow和FTPloy。

Bitbucket.com:免費註冊賬號。 SourceTree:免費的bitbucket。管理git存儲庫的好工具。所有提交,合併和拉取都可以在這裏完成。 bitbucket中的問題可以被追蹤。

在sourcetree中,選擇master分支,然後單擊「git flow」 - google gitflow - 這是功能,修補程序,開發和發佈分支和源代碼樹的奇妙工作流程,可幫助自動執行此過程。

FTPloy.com自動部署您的主分支。免費是一個回購/服務器。但值得升級,如果你想推動開發分支到服務器沙箱進行測試。

希望這可以幫助別人搜索網頁!

相關問題