簡體   English   中英

當工作副本位於網絡驅動器上時,SVN提交后將更新工作副本

[英]SVN Post-Commit to Update Working Copy when Working Copy is on a Network Drive

我在一家新興的Web開發公司工作,我們目前正在測試Subversion安裝以實現版本控制系統。 我們需要版本控制系統執行的功能之一是,一旦提交了開發文件,就用已編輯的文件更新開發服務器。

我們希望為所有SVN存儲庫維護一台服務器,盡管由於系統要求,我們需要維護多台單獨的開發服務器。 我了解,當開發服務器與SVN位於同一位置時,更新非常簡單,但這對我們來說是不可能的。 因此,我們需要為每個開發服務器將單獨的網絡驅動器映射到SVN服務器。

但是,此錯誤在提交時發生。 這是我的工作副本測試目錄,如post-commit.bat文件中所引用:

SET WORKING_COPY=Z:\testweb

但是,這會導致錯誤...

post-commit hook failed (exit code 1) with output: svn: Error resolving case of 'Z:\testweb'

我確定這是因為服務器與我不是同一用戶,因此沒有將我需要的共享映射到“ Z”-我只是不知道如何解決此問題。 有人可以幫忙嗎?

更新:我越關注這些問題,似乎該問題的真正解決方案是使用CI服務器完成我試圖完成的工作。 我目前正在研究TeamCity及其對我們的影響。

不要通過提交后的鈎子來做到這一點。 如果您成功使掛鈎成功,那么您將使進行提交的人員等待更新完成。 相反,我建議您使用Jenkins ,它是一個連續的構建引擎。

您可能沒有任何建置。 畢竟,如果您使用的是PHP或JavaScript,則無需編譯。 但是,您仍然可以使用Jenkins為您進行更新。

我聽不清細節,但是您可以用Jenkins做的一件事是重新定義其工作目錄。 您可以在定義作業時單擊“ 高級”按鈕來執行此操作,然后它將詢問您要將工作目錄放在何處。 在這種情況下,您可以指定服務器的工作目錄。

您可以使用Jenkins做的一件事是讓它自動運行測試,或者進行更流暢的更新。 例如,當您更改一些文件時,您可能必須重新啟動Web服務器,或者可能需要確保,如果要更改100個文件,它們一次都會被更改,或者您的服務器不穩定州。 您也可以使用Jenkins來執行此操作。 並且,如果有任何問題,您可以讓Jenkins通過電子郵件將負責服務器更新的負責人的電子郵件發送給負責該服務器的人員。

Jenkins易於設置和使用。 您可以下載它,然后在10分鍾內啟動Jenkins。 如果您以前從未見過Jenkins,也不知道它是如何工作的,那么在Jenkins設置工作可能還要花15分鍾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM