我們有一些node.js
服務器由google cloud compute engine
託管。由於運行服務器的實例是由Instance Group
創建的,因此它們前面有一個負載平衡器,並且其IP經常變化。如何將新代碼版本傳遞到多個node.js服務器?
當Instance Group
從實例模板創建實例時,引導腳本使用gitlab
獲取當前版本,並且該過程運行正常。
是否有上傳使用一個命令行的所有實例組版本的方式,一些可能使運行git pull
通過集中請求發起的所有實例?
我們有一些node.js
服務器由google cloud compute engine
託管。由於運行服務器的實例是由Instance Group
創建的,因此它們前面有一個負載平衡器,並且其IP經常變化。如何將新代碼版本傳遞到多個node.js服務器?
當Instance Group
從實例模板創建實例時,引導腳本使用gitlab
獲取當前版本,並且該過程運行正常。
是否有上傳使用一個命令行的所有實例組版本的方式,一些可能使運行git pull
通過集中請求發起的所有實例?
有多種方式來做到這一點,但我看到根據您的需求,您的問題,有兩種簡單的解決方案:
因爲你是在Linux實例上運行的服務器是建立一個cronjob啓動從那一刻開始,您希望通過經典git pull
將代碼從存儲庫中提取出來。
這個解決方案不是非常優雅,但需要幾行代碼,這是相當有效的。顯然,如果檢查新代碼的每個T秒服務器風險運行在最大T秒,這取決於你的工作負載的性質,可能是一個問題,不同的代碼。
有一個內置功能來做到這一點,Repository Mirroring。 GitLab中的鏡像將自動更新。老實說,我從來沒有實施此解決方案,但你可以檢查以下的StackOverflow answer可以指導您完成整個過程。