84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我們用git託管程式碼, 線上有多台伺服器, 求程式碼自動部署同步所有伺服器的方法;
希望提供較詳細的方案信息, 謝謝!
不要這樣部署程式碼,靠git pull不能保證同步,而且有台機器pull沒成功怎麼辦。建議單獨一台部署機,pull程式碼,增量同步到伺服器,可以用ansible
首先,想知道你是把origin裸庫佈置在線上的某台伺服器上,還是把線上的這些伺服器都當做從origin複製程式碼的客戶端。 其次,線上的伺服器可以做這麼幾件事來實現自動化部署:1. 給git增加增加鉤子動作,每次git在完成某項動作是,可以透過該鉤子附帶執行對應的動作;2. 利用linux的corntab和shell腳本,定時執行一些檢查,或定時執行一些git更新;3. 還是利用2中的方法,定期對檔案進行同步,也就是樓上說的sync。 這是我的思路。
rsync伺服器檔案同步
期中的一台伺服器你用git部署了,其他伺服器都是單向rsync同步目前機器即可
用Capistrano
teamcity 或 jenkins自動建置工具,再寫腳本把建置好的檔案上傳到各台機器上。
不要這樣部署程式碼,靠git pull不能保證同步,而且有台機器pull沒成功怎麼辦。建議單獨一台部署機,pull程式碼,增量同步到伺服器,可以用ansible
首先,想知道你是把origin裸庫佈置在線上的某台伺服器上,還是把線上的這些伺服器都當做從origin複製程式碼的客戶端。
其次,線上的伺服器可以做這麼幾件事來實現自動化部署:1. 給git增加增加鉤子動作,每次git在完成某項動作是,可以透過該鉤子附帶執行對應的動作;2. 利用linux的corntab和shell腳本,定時執行一些檢查,或定時執行一些git更新;3. 還是利用2中的方法,定期對檔案進行同步,也就是樓上說的sync。
這是我的思路。
rsync伺服器檔案同步
期中的一台伺服器你用git部署了,其他伺服器都是單向rsync同步目前機器即可
用Capistrano
teamcity 或 jenkins自動建置工具,再寫腳本把建置好的檔案上傳到各台機器上。