2011-04-15 37 views
0

我有以下問題,如何使用SVN,Hg或其他...管理項目部署?

Whenver我在一個單獨的項目我工作,我有一個Mercurial庫,每當我要部署,我只是刪除服務器中的所有文件,並把整個新項目回到那裏,這引起我的問​​題,當項目增長時,這個過程變得非常不順利。

我有我的機器後面的代理和防火牆,但我想知道的是,我怎樣才能使這個過程更加「自動化」,就像在服務器上的汞倉庫,做同步的與使用開發PC的Mercurial客戶端的開發PC,可以這樣做嗎?或者你能建議一個軟件來處理類似的問題嗎?

爲了方便起見,我使用Windows作爲開發PC的操作系統,服務器是Apache2.2和PHP 5.2的Linux服務器(不確定發行版)。

由於提前,

+0

曾經考慮過使用'rsync'? (我不知道,如果在Windows上有一個很好的實現) – KingCrunch 2011-04-15 12:32:44

回答

1

我使用bash腳本部署我的個人和小型項目(nginx和python),該腳本下載我的最新源代碼管理修訂版,更新Web服務器用作網站位置的第二個repo(hg)(所以我不用必須處理複製/覆蓋和額外的文件)並重新啓動網絡服務器。這很簡單,但它對我來說很好。而不是所有的手動命令更新,複製和重新啓動我只是./deploy.sh,我很高興與一個很好的變更更新電子郵件由hg發送。

+0

我想我正在使用這樣的東西... – 2011-04-27 16:52:34

1

你可以建立一個cronjob在服務器上,該克隆的Mercurial庫每5分鐘左右,然後刪除該文件夾.hg。或者,如果您不介意在.hg文件夾中存放文件夾,則可以將存儲庫設置爲一次,然後設置cronjob以每x分鐘更新一次。