多台雲主機的如何實現一鍵自動部署發布?

公司的app產品,目前已經有十多台雲主機了,每次更新服務端會花費很長時間。有沒有什麼能一鍵部署發布的解決方案?未來還會增加更多的雲主機,手動或者單個執行腳本都太麻煩了。而且新增一台雲主機之前需要一個小時的配置和調試時間,如何能在各方面減少這些時間成本啊?另外,最好能監聽進程狀態,宕機後能自己重啟


必須是俺們家的Docker啊


大家都提到了Docker,這幾天我自己也在弄著玩,還有一條路是:

Docker + Docker Compose + Docker Swarm +Docker Machine

以上四個成分都是docker原生支持的,雖然現在swarm和machine都還在beta狀態,相信以後會得到非常深入的整合和支持。具體上面三個成分是這樣的:

Machine: 負責在雲端招呼n台伺服器

Swarm: 負責把這n台伺服器串聯起來,這樣以後進行docker 操作的時候就可以視n台伺服器為一台。

Compose: 負責將配置好的多個docker鏡像部署到上面swarm形成的伺服器上。

相信這樣的流程也可以通過jenkins+ gitlab來完成,只是我還沒試過~


如果沒有足夠的不如自己創業


部署的問題可以用 Fabric 或者 Ansible 來解決,增加機器就是改一個配置項的工作量。

在部署腳本里定義好部署的工作流,一般就是:

  • 準備環境,安裝依賴
  • 更新代碼
  • 構建編譯
  • 重啟服務

對於監控應用程序掛掉自動重啟的事情,可以交給 Supervisor: A Process Control System


未來還會增加更多的雲主機,手動或者單個執行腳本都太麻煩了。而且新增一台雲主機之前需要一個小時的配置和調試時間,如何能在各方面減少這些時間成本啊

從技術上講,有很多工具可以做,puppet、ansible等等。但難點在於怎麼正確地使用工具,這裡涉及到環境管理、持續交付等Devops實踐和方法。

比如環境管理,除了最一開始的初始化安裝,運營過程中會有不會有變更,這些變更在「未來還會增加更多的雲主機」的情況下如何保持同步?

比如發布,一鍵發布最終是怎樣落地的?所有應用同時重啟?那麼服務是否會中斷?如果新版本有缺陷怎麼辦?


daocloud去了解下,能夠解決你的問題


Docker+Gitlab+Jenkins


ansible批量操作

nagios監控


http://saltstack.com


簡單,請看apache libcloud


AFS probably ZFS


提取出可變配置參數,自己寫個智能點的腳本可以嗎?


我簡單寫一下我有過的操作:

在雲主機安裝完成之後,window系統會自動生成初始的登錄用戶名和密碼,並會自動分配IP地址。需要進行以下的配置:
1、用戶名和密碼修改 。
2、配置雲主機磁碟分區 。
3、3389遠程訪問埠修改 。
4、window系統防火牆安全配置。

使用遠程桌面連接登錄雲主機:使用鍵盤windows鍵(windows徽標)+R,彈出運行對話框,在對話框中輸入命令mstsc或者在開始-程序(P)-附件-遠程桌面連接,然後在計算機後面輸入框中填寫雲主機的IP地址。然後再彈出的登錄框界面輸入系統自動分配的用戶名和密碼即可登錄成功。
1、修改用戶名和密碼
右擊我的電腦-管理,然後在彈出的計算機管理界面中,點擊「本地用戶和組」在右側找到你登錄時候用的用戶名,右擊-設置密碼即可設置該用戶名的新密碼,如果修改用戶名可以右擊-重命名即可修改。

2、磁碟管理
右擊我的電腦-管理,然後在彈出的計算機管理界面中,點擊「磁碟管理」右側黑色的代表為指派的磁碟空間 右擊黑色未指派磁碟-新建磁碟分區-新建磁碟分區嚮導-選折主磁碟分區(大小根據需求設置)-指派磁碟驅動器號-執行快速格式化-完成。

更改盤符的卷標-右擊該盤符-更改驅動器號和路徑-指派驅動器號。
3、更改3389遠程登錄埠
Windows默認的遠程登錄埠是3389,有的時候為了安全考慮,需要更改遠程埠。點擊 開始-運行-輸入 regedit 打開註冊表編輯器,由於註冊表上有很多信息,最簡單的方法尋找需要修改埠的地方,鍵盤ctrl+F,彈出搜索框,輸入Portnumber進行查找,可能會搜到幾處選項,注意查找值為3389的名稱。
需要修改的地方有兩個-雙擊portnumber,選擇十進位,將3389更改為別的數字,最好是越大越好,當然在65535之內,因為大的數字別的程序佔用的幾率比較小。
4、防火牆安全配置
修改完成後,一定要查看本地的防火牆用沒有打開,如果打開,需要在防火牆中將修改後的埠添加到例外。右鍵網上鄰居-選擇屬性-網路連接-右鍵本地連接-屬性-高級-設置,打開windows防火牆,選擇例外選項:

名稱可根據需求填寫,埠號填入之前修改過的埠號,直接確定即可。在這些都完成之後,需要重啟伺服器,使修改過的埠號生效。然後在進行遠程登錄的時候在遠程桌面鏈接界面-計算機輸入框中就要添加 IP:埠號(修改後的埠)-鏈接。

利益相關:個人站長、35互聯A級代理、百度開放雲用戶、阿里雲用戶、百度員工。

關聯廣告:Cloudin:CloudIn雲英 - 專業的雲主機,雲伺服器,雲硬碟,雲安全等IaaS及PaaS服務提供商。 非常不錯 值得嘗試:)


推薦閱讀:

TAG:雲計算 | 阿里雲 | 部署 | 分散式 | 持續集成CI |