Automation

更新生產伺服器和自動化

  • October 31, 2015

我想明確一點,我無論如何都不是系統管理員專業人士,也許我的問題已經得到解答,但只要我在 google/serverfault/SO 上搜尋,我就沒有找到任何類似的東西。

假設我們要在一台生產伺服器上更新 2 個單個文件。我們可以用ssh-來做到這一點git。AFAIK 文件被一一上傳。現在假設,我們希望這兩個文件被上傳at once,我們絕不希望使用者面對file1UpdatedVersionand的不幸情況file2OldVersion

所以我假設我們必須關閉伺服器,上傳文件,進行一些測試以確保一切正常,然後再次打開伺服器。

是否有任何自動化軟體可以發送要上傳的文件列表,並提供一些測試案例,我們的更新將被認為是成功的,然後shutdown-update-start server以這種方式為我們提供最低限度server downtime

謝謝你的時間 !

有很多方法可以以最少的停機時間自動化部署。根據您目前的設置,可以應用不同的方法。一個好的開始可能是使您的實際發布步驟成為符號連結的更改。

假設您從您的app v1位置開始/var/www/app/v1,然後您有一個名為/var/www/app/current指向該v1文件夾的符號連結。您將 Web 伺服器配置為將該current文件夾用作文件根目錄。當您即將發佈v2時,您將其上傳到/var/www/app/v2然後將您的current符號連結更改為指向反對v2。使用這種方法,您將獲得最少的(如果有的話)停機時間,並且使用者不會最終處於同時提供不同版本的狀態。

為避免手動執行此操作,可以使用一些工具為您執行此操作。這裡有幾個例子

如果您想進一步推進部署過程,我建議您研究不可變伺服器概念或Docker等工具

引用自:https://serverfault.com/questions/732904