我設置了兩個開發環境(一個將在我的本地服務器上,另一個在雲服務提供程序上,我將在其中執行可能需要比本地服務器更多內存的工作)。如何保持需要保持同步的獨立開發環境,同步?
我能做些什麼來確保兩個環境始終完全同步?我正在考慮集中部署應用程序,並使用工具來同步SQL Server數據庫,以及另一種保持Sharepoint服務器同步的工具,這兩個虛擬機之間的環境非常類似。還有什麼可以幫助實現這個嗎?
謝謝
我設置了兩個開發環境(一個將在我的本地服務器上,另一個在雲服務提供程序上,我將在其中執行可能需要比本地服務器更多內存的工作)。如何保持需要保持同步的獨立開發環境,同步?
我能做些什麼來確保兩個環境始終完全同步?我正在考慮集中部署應用程序,並使用工具來同步SQL Server數據庫,以及另一種保持Sharepoint服務器同步的工具,這兩個虛擬機之間的環境非常類似。還有什麼可以幫助實現這個嗎?
謝謝
這是SharePoint開發的一個非常棘手的問題。
只要SQL服務器(對於非SharePoint的東西),你可以使用SQL Server提供的工具同步你的數據庫。例如,複製數據庫嚮導,或者如果您需要自定義工作,您甚至可以編寫自己的SSIS包。
儘管SharePoint是另一回事。您不能僅通過跨數據庫複製數據庫將站點集合/ Web應用程序從一臺服務器同步到另一臺服務器,它不起作用(出於許多原因,但主要是因爲當您在服務器上創建Web應用程序時,它會使用GUID作爲應用程序ID,該GUID用於數據庫中的任何地方,並且如果嘗試更改它,則表之間的所有鏈接都將被破壞)。 SharePoint數據庫的結構沒有記錄,MS建議不要手動修改它。說實話,即使你確實設法從SQL服務器同步你的數據庫,你也會遇到其他問題,因爲你所做的所有自定義都沒有保存到數據庫中(很多東西進入了12個配置單元)。
所以這歸結於你想要達到的目標。
如果您嘗試同步已編碼的自定義項(即您的內容類型,列表模板,Web部件等)。我建議您只從開發環境構建WSP包,並且每次需要同步時都要部署它們。
如果您只是試圖同步數據(即列表項),則可以使用備份/恢復解決方案(可以在管理中心找到它)。請注意,如果您進行了自定義,它並不太可靠。它可以在開箱即用的網站上正常工作,但使用自己的列表模板後可能會很棘手。
您也可以使用web services或Content Deployment API編寫代碼以查看它是否適合您的需求。
您還可以查看將完成全部或部分工作的工具。 Here is one
所以基本上,無論你如何決定這麼做,它都不會像你期望的那麼簡單。 DEV/TEST/PROD環境同步問題是SharePoint開發的經典之作。
我上一個高度定製的SharePoint Web應用程序工作,我們找到了最好的解決辦法是:
這是一個非常好的答案。謝謝! – dotnetdev 2010-11-27 15:25:34