2012-04-21 110 views
4

我正在開發一個小型Web項目,我正在努力做到這一點。 我學會了如何使用git/github,這樣我就可以在同一個代碼上使用多個用戶(現在只有我在多臺計算機上)。將項目部署到網絡的正確方法是什麼

我的問題是 - 什麼是正確的方式上傳文件到網絡?

我可以通過file-zilla複製粘貼整個文件夾,但這似乎不是正確的方法。有沒有辦法通過git部署最新版本? GitHub的?記事本++(我工作)或aptana?

從哪裏開始?

+1

http://stackoverflow.com/questions/160608/how-to-do-a-git-export-like-svn-export#answer-163769 – PeeHaa 2012-04-21 11:33:28

+1

沒有絕對「正確的方式」;只有最適合你和你的項目的方式。工作的正確工具(通常也是工具用戶)。 – liquorvicar 2012-04-21 11:42:27

回答

0

那裏有專業的部署工具。如果您不使用ruby on rails進行開發,您還需要railsless-deploy,那麼最好的一個是capistrano

使用這樣的系統,您可以輕鬆地將您的應用程序從git存儲庫部署到任何您有權訪問的服務器。它requries一點配置的,但你會得到它...

0

如果你有,你可以使用SVN或Git和部署當前狀態到您的在線項目的服務器的根訪問

+0

我該怎麼用git來做這件事? – Alon 2012-04-21 12:09:32

2

根據您的工作流程,您的行駛里程和策略可能會有所不同。我在下面描述的是在我現在的公司爲我們工作,但隨時可以嘗試並找到適合您的東西。

在我們的Git回購中,我們有一個「主」分支。所有新的開發以及主要錯誤修復都發生在「主」分支之外的分支中。當他們準備好時,他們將融入主人。這裏的想法是,沒有未完成的功能或故意錯誤的代碼永遠在主(理論上...)。

當我們想要製作一個新的「發佈」 - 我們網站上新版本的代碼 - 我聯繫其他開發人員,並確保他們正在處理的應該完成的內容已被合併到主控和推到GitHub回購。我將確保我的本地副本副本是最新的,通過將主副本中的更改合併到本地回購,運行任何必需的數據庫更新腳本,然後在本地進行測試。如果有事需要解決,我會自己解決或要求負責任的開發人員修復它。如果事情看起來不錯,那麼我將登錄到我們的登臺服務器(實際上是在我們的實時服務器上,但使用單獨的數據庫和非公開訪問的URL),將代碼從GitHub倉庫中提取到倉庫中,更新數據庫,並在那裏再次測試。這樣,現場服務器上可能發生但在本地開發服務器上沒有發生的任何錯誤都可以被捕獲。

如果事情還是很好看,然後我會在標籤回購的相關承諾與適用的標籤,如BETA-4v1.8,在我的本地開發回購和推標籤。然後我將登錄到活動服務器,備份數據庫,從GitHub中拉出主分支,然後使用git checkout檢出剛剛創建的標籤。那是那裏的伎倆;如果您簽出了一個標籤(除HEAD之外),那麼Git會將標籤所指向的提交的文件的狀態保持爲文件的狀態,直到您簽出另一個標籤爲止。然後我在運行的服務器上運行更新腳本,然後你就可以開始了。

Git是一個功能強大的工具,所有試圖告訴你它易於使用的人都是徹頭徹尾的騙子。如果你是新手,我強烈建議你閱讀一本好書。地獄,我幾乎每天都在使用它近兩年,而它仍然有時令我感到驚訝。 O'Reilly's book像往常一樣體面,我發現SourceTree是一個很好的OS X GUI應用程序(當然,你應該學習使用CLI界面,特別是你可以登錄到遠程服務器,並通過SSH進行拉等操作,但是一個不錯的GUI可以做任務,比如做一個提交,在這個提交中你只需要在回購庫中提交一些更改過的文件就會更愉快)。

相關問題