2013-03-22 59 views
-1

大家好,你如何把你的項目從開發到生產?

我目前正在開發一個項目Laravel。到目前爲止,我總是在線開發,通過FTP(使用PSPad或類似的簡單編輯工具)直接編輯Web服務器上的文件。

我現在想做的事情(以及我相信大多數人實際做的事情)是在我的本地機器上設置(W)LAMP堆棧並在本地編程。然而,對我來說有點不清楚如何讓我的本地代碼(包括數據庫)與實時網站保持同步。你們如何做到這一點?我知道可能有很多方法和工具可以做到這一點,但對於最佳做法,您會有什麼建議?任何建議將非常歡迎:)

+0

研究'git',它的我用什麼和它的輝煌 – chriz 2013-03-22 11:10:40

+0

我downvoting有2個原因這個問題。 1.它與php無關。這與拉拉維爾無關。 – itachi 2013-03-22 11:16:02

+0

你是對的itachi,不幸的是我找不到更合適的標籤。 – Adrenaxus 2013-03-22 13:09:33

回答

2

許多公司所做的是離線構建,然後使用git將它們的編輯推送到服務器。

IM在軟件方面的專家如此虐待描述你的基本形式做什麼:

我的建議是創建一個在線的回購(庫)來存儲您的項目,而你編輯/更新。

有幾個git項目管理系統,如githubbitbucket。我個人使用bitbucket

git做什麼,是當你已經建立或增加你對本地(W)燈離線需要,你再git push它們備份到您的回購或服務器。然後將更改的文件與repo或服務器上的現有文件合併。如果你想要項目的最新版本,你只需要git pull

Read the full documentation here使用git

1

我們在我們的平臺中有一個設置數組,可用作$ res :: Config。

在運行時,檢查HTTP主機後,變量從'dev'更改爲'live',顯然取決於IP地址。

在我們的框架引導中,取決於$ res :: Config - > $ env的值,或者以前設置爲dev或live的環境,設置數據庫連接的設置。您可以將這些設置作爲db_live或db_dev存儲在Config數組中。

但是,您可以使用環境變量來確定您是要live還是dev,並設置相應的設置和數組。

我們還有間歇式開發階段的沙箱和分期。

至於版本控制,請使用git或subversion。

編輯:這也有可能在我們的虛擬主機文件中,我們將環境變量設置爲live或dev,並且我們的應用程序相應地讀取它。我建議這種方法:)

1

當看到大範圍的可用選項有許多這樣做的方法。但這是一個你問過的看似很大的問題。 這裏有一些很好的實踐建議 - 去研究這些項目,然後看看我的方法。

您通常使用一種叫做版本控制進動,它允許你創建「版本」或您的系統快照。 常用的「SVN」軟件是好的,但新的(不是真的任何更多),該塊小子GIT,我個人建議。

你可以使用這個系統來推動代碼庫生活在一個可控的方式。雖然文件/上傳功能與FTP基本相似,但它允許您實時轉儲特定版本的網站。

在有多個開發環境中,這是理想的 - 你可以比較/測試和工作圍繞着彼此,和版本控制趨於停止開發者之間的誤差。

所以 - 建議第1部分:查找並理解版本控制,然後用它來發布代碼到現場環境。

第2部分:我使用的數據庫轉儲和耕種他們回到我的機器一起工作。 如果實時數據庫需要更新,我可以在本地工作,只需導出,然後在實時系統上重新導入。

例如:在最近的Moodle項目我的工作,刷新整個數據庫拿了秒...我可以推補丁和更新數據庫在幾分鐘內。 但是:你應該考慮維護和時間安排......如果網站是活的並且有持續的數據變化,那麼你需要注意這一點。考慮添加維護頁面。

忠告2:去研究SQL轉儲/導出和導入。

我個人用phpmyadmin導出並重新導入,因爲它是非常方便的。

忠告3:工作在本地,然後推住的是更好的實踐。你正在開始一條比你更安全更好的道路!

希望有所幫助......但請記住 - 這是一個大課題,所以你需要研究一個公平位。

+0

謝謝,我會考慮你寫的東西,並深入到GIT! – Adrenaxus 2013-03-22 15:04:12

相關問題