我負責啓動Web項目,目前從客戶端簽署到最終啓動需要很長時間。它位於我有權訪問的服務器上,但它運行Plesk,以便老闆可以設置VirtualHosts,這意味着有許多網站正在運行。使用Git進行PHP部署。我怎樣才能讓它更自動化?
每個項目都有自己的git存儲庫,所以目前我有以下設置。
在我的登臺服務器上有一個repo的克隆,我有兩個裸存儲庫。一個在僞造(由Indefero驅動),另一個在活動服務器上。
項目的每個版本都標有今天的日期,例如。 git tag -a deployed-2011-04-20
。
因此,在登臺服務器上,我執行類似於git push --tags live master
的操作,該操作以live服務器上的裸回購爲目標。
然後通過實時服務器上的SSH,我執行一個簡短的bash腳本,它基本上將存儲庫從實時裸回購庫複製到Apache將提供的文件夾中。
所以,如果這一切都有道理,你會能夠推薦一個工具或任何東西,使我的生活更輕鬆,遵循工作流程或可以適應?
它看起來是這樣的:
Forge (authoritative source)
^
|
v
Staging/development server
|
v
Live server bare repo
|
v
Releases folder (symlinked to htdocs)
「在裸機服務器上添加一些post-receive hook回購,以便檢測來自分段回購的任何已部署的2011-xx-yy標籤,並從那裏觸發ssh腳本。「 - VonC - 請你分享一下上面的例子嗎? – MEM 2012-03-22 13:15:39