2009-12-01 70 views
3

我開始我的第一個Web應用程序,我不確定通常情況下是如何完成的。我正在使用Django和Apache:如何組織一個webapp?

  1. 如何管理源代碼管理存儲庫?你檢查一個單獨的文件夾,然後有一個構建腳本來複制文件嗎?究竟應該將什麼添加到存儲庫?換句話說,你如何確保你不提交自動生成的文件? (有時很難說什麼是自動生成的以及我還沒弄清楚什麼:)

  2. 我該如何首先部署到私人開發頁面,然後在準備好時部署到主頁面?我可以設置兩臺服務器嗎?如果是這樣,怎麼樣?

我知道這些都是有點新手問題,但我似乎無法找到一個很好的教程,真正解釋了這些根本問題。

回答

3

我將有一個開發副本,它將從我的存儲庫中結帳。在現場網站上,我將輸出標籤版本的輸出(而不是簽出),我將命名這些輸出所在的目錄,例如標籤名稱爲「project-v1.4.5」。然後我會有一個符號鏈接指向當前活動的標籤。如果您在使用新標籤後發現問題,這可以讓您更輕鬆地返回到舊版本。

如果您使用的是SVN,我建議您閱讀(​​)SVN書籍有關基本概念和標籤的章節(在分支和合並章節中)。

SVN可以讓你忽略你不想犯http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.ignore.html

+0

很好的答案。我一直在想,爲什麼人們在使用導出服務器而不是在現場服務器上使用結賬服務器時很挑剔。它是PHP等人的一個保留,其中web應用程序代碼位於一個實時webroot中?否則我真的不明白爲什麼它很重要(我使用checkout沒有任何問題,FWIW)。 – 2009-12-01 22:18:57

+1

使用導出而不是結帳的一個原因是它不鼓勵在實況網站上進行編輯,這通常是A-Bad-Thing TM。另一個原因是,如果你正在備份你希望你的live站點,那麼.svn目錄佔用我目前正在使用的891MB結帳的379MB。 – 2009-12-02 09:48:41

0

用git文件,你可以建立一個私有分支,並已選定的文件堅持那支只(例如 - 保持本地CONFIGS和模板)。我以前有asked a similar question。使用此設置更新您的應用程序並將更改推送到公共分支是微不足道的。