Automation
更新生產伺服器和自動化
我想明確一點,我無論如何都不是系統管理員專業人士,也許我的問題已經得到解答,但只要我在 google/serverfault/SO 上搜尋,我就沒有找到任何類似的東西。
假設我們要在一台生產伺服器上更新 2 個單個文件。我們可以用
ssh
-來做到這一點git
。AFAIK 文件被一一上傳。現在假設,我們希望這兩個文件被上傳at once
,我們絕不希望使用者面對file1UpdatedVersion
and的不幸情況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
。使用這種方法,您將獲得最少的(如果有的話)停機時間,並且使用者不會最終處於同時提供不同版本的狀態。為避免手動執行此操作,可以使用一些工具為您執行此操作。這裡有幾個例子: