我習慣於用C#.NET編寫桌面應用程序。我在哪裏有一個很好的小解決方案文件夾,它也受版本控制。因此,在任何時候,在任何計算機上,我都可以查看我的軟件的任何版本,以便運行編譯器並獲得我的程序的工作副本。如何學習如何創建/部署/管理網站?
現在,我尋找到發展的網站,那裏的文件和數據很多比較分散。我使用的是ASP.NET,但真正的問題是更一般的,可以應用於任何網站框架。
我試圖理解發展我的網站,一個版本控制服務器,和實際生活的網站,用戶將看到之間的適當工作流。顯然這可能會有很大的不同,取決於網站的類型和規模,但我只考慮一個非常簡單的網站。我剛剛開始使用這些東西。下面
圖顯示了我目前的想法。該站點的所有源文件都將存儲在一個顛覆服務器上,我將檢查到本地計算機上。我的本地計算機會有一個本地數據庫,我將用它來開發該網站。接下來,我將發佈到託管服務器上的測試版本,該版本將指向單獨的測試數據庫。這個測試數據庫可能會定期替換爲實時數據庫的副本。
如果一切順利,我會再發布到它指向實時數據網站的測試版。用戶然後可以檢查測試版本以提供反饋。最後,如果仍然沒有問題,活動網站的源文件將被更新。
這是否有道理?有沒有人有任何意見,如何可以改善?是否有任何好的書籍或在線教程可用於開發這些類型的工作流程?
另外,我真的不確定的一件事是如何管理對數據庫實際模式的更改。我認爲每個版本都可以生成一個SQL腳本,可用於更新主機上的測試和實時數據庫。不過,我還希望能夠爲我的站點的任何版本輕鬆設置新的數據庫,而無需爲每個版本運行每個更新SQL腳本,直到達到所需的版本。使用像NHibernate或Subsonic這樣的ORM是最好的解決方案,所以我可以直接從我的代碼生成我的數據庫模式?
謝謝這真的有很大的幫助。你說得對,這聽起來像你正在做我打算做的事情。雖然這對我來說會更簡單,因爲我不必擔心其他開發者,那麼我自己也會回購。但是,對於如何在本地,測試版和產品之間管理對數據庫模式的更改,我仍然不能100%確定。 – 2011-01-21 06:13:02