2017-11-25 370 views
2

我們有一些node.js服務器由google cloud compute engine託管。由於運行服務器的實例是由Instance Group創建的,因此它們前面有一個負載平衡器,並且其IP經常變化。如何將新代碼版本傳遞到多個node.js服務器?

Instance Group從實例模板創建實例時,引導腳本使用gitlab獲取當前版本,並且該過程運行正常。

是否有上傳使用一個命令行的所有實例組版本的方式,一些可能使運行git pull通過集中請求發起的所有實例?

回答

1

有多種方式來做到這一點,但我看到根據您的需求,您的問題,有兩種簡單的解決方案:

  1. 因爲你是在Linux實例上運行的服務器是建立一個cronjob啓動從那一刻開始,您希望通過經典git pull將代碼從存儲庫中提取出來。

    這個解決方案不是非常優雅,但需要幾行代碼,這是相當有效的。顯然,如果檢查新代碼的每個T秒服務器風險運行在最大T秒,這取決於你的工作負載的性質,可能是一個問題,不同的代碼。

  2. 有一個內置功能來做到這一點,Repository Mirroring。 GitLab中的鏡像將自動更新。老實說,我從來沒有實施此解決方案,但你可以檢查以下的StackOverflow answer可以指導您完成整個過程。

相關問題