大家好,你如何把你的項目從開發到生產?
我目前正在開發一個項目Laravel。到目前爲止,我總是在線開發,通過FTP(使用PSPad或類似的簡單編輯工具)直接編輯Web服務器上的文件。
我現在想做的事情(以及我相信大多數人實際做的事情)是在我的本地機器上設置(W)LAMP堆棧並在本地編程。然而,對我來說有點不清楚如何讓我的本地代碼(包括數據庫)與實時網站保持同步。你們如何做到這一點?我知道可能有很多方法和工具可以做到這一點,但對於最佳做法,您會有什麼建議?任何建議將非常歡迎:)
大家好,你如何把你的項目從開發到生產?
我目前正在開發一個項目Laravel。到目前爲止,我總是在線開發,通過FTP(使用PSPad或類似的簡單編輯工具)直接編輯Web服務器上的文件。
我現在想做的事情(以及我相信大多數人實際做的事情)是在我的本地機器上設置(W)LAMP堆棧並在本地編程。然而,對我來說有點不清楚如何讓我的本地代碼(包括數據庫)與實時網站保持同步。你們如何做到這一點?我知道可能有很多方法和工具可以做到這一點,但對於最佳做法,您會有什麼建議?任何建議將非常歡迎:)
我們在我們的平臺中有一個設置數組,可用作$ res :: Config。
在運行時,檢查HTTP主機後,變量從'dev'更改爲'live',顯然取決於IP地址。
在我們的框架引導中,取決於$ res :: Config - > $ env的值,或者以前設置爲dev或live的環境,設置數據庫連接的設置。您可以將這些設置作爲db_live或db_dev存儲在Config數組中。
但是,您可以使用環境變量來確定您是要live還是dev,並設置相應的設置和數組。
我們還有間歇式開發階段的沙箱和分期。
至於版本控制,請使用git或subversion。
編輯:這也有可能在我們的虛擬主機文件中,我們將環境變量設置爲live或dev,並且我們的應用程序相應地讀取它。我建議這種方法:)
當看到大範圍的可用選項有許多這樣做的方法。但這是一個你問過的看似很大的問題。 這裏有一些很好的實踐建議 - 去研究這些項目,然後看看我的方法。
您通常使用一種叫做版本控制進動,它允許你創建「版本」或您的系統快照。 常用的「SVN」軟件是好的,但新的(不是真的任何更多),該塊小子GIT,我個人建議。
你可以使用這個系統來推動代碼庫生活在一個可控的方式。雖然文件/上傳功能與FTP基本相似,但它允許您實時轉儲特定版本的網站。
在有多個開發環境中,這是理想的 - 你可以比較/測試和工作圍繞着彼此,和版本控制趨於停止開發者之間的誤差。
所以 - 建議第1部分:查找並理解版本控制,然後用它來發布代碼到現場環境。
第2部分:我使用的數據庫轉儲和耕種他們回到我的機器一起工作。 如果實時數據庫需要更新,我可以在本地工作,只需導出,然後在實時系統上重新導入。
例如:在最近的Moodle項目我的工作,刷新整個數據庫拿了秒...我可以推補丁和更新數據庫在幾分鐘內。 但是:你應該考慮維護和時間安排......如果網站是活的並且有持續的數據變化,那麼你需要注意這一點。考慮添加維護頁面。
忠告2:去研究SQL轉儲/導出和導入。
我個人用phpmyadmin導出並重新導入,因爲它是非常方便的。
忠告3:工作在本地,然後推住的是更好的實踐。你正在開始一條比你更安全更好的道路!
希望有所幫助......但請記住 - 這是一個大課題,所以你需要研究一個公平位。
謝謝,我會考慮你寫的東西,並深入到GIT! – Adrenaxus 2013-03-22 15:04:12
研究'git',它的我用什麼和它的輝煌 – chriz 2013-03-22 11:10:40
我downvoting有2個原因這個問題。 1.它與php無關。這與拉拉維爾無關。 – itachi 2013-03-22 11:16:02
你是對的itachi,不幸的是我找不到更合適的標籤。 – Adrenaxus 2013-03-22 13:09:33