Shell腳本與自動化部署工具有哪些區別?
shell腳本是Linux下的腳本語言,自動化部署工具一般包括核心模塊、擴展模塊、插件模塊等組成,可以同時調用多臺Linux服務的shell腳本執行同樣操作,簡單理解自動化部署工具是流程控制核心,shell腳本可用作執行操作模塊。
在Linux運維中,需要部署大量的服務器,可以編寫shell腳對服務器的初始部署進行流程化處理,而對于多臺服務器同步部署使用shell腳本也可完成,但是對于流程的追溯就有些力竭,自動化部署工具可以通過ssh用戶登陸或ssh免密連接多臺Linux服務器,編譯或者部署服務。
目前比較常用的工具jenkins,是基于JAVA開發的一個開源軟件項目,同時也是一種繼續集成工具,jenkins可以說是一個平臺,在這個平臺上有多個服務器節點,多個jobs工程完成構建任務。
基本工作流程如下:
對于開發人員只需要將代碼提交到Git&SVN服務器,在后續代碼編譯、打包、上傳、運行都可以通過調用shell腳本來完成。
1. 開發工程師將代碼上傳到git&svn服務器
2. 運維工程師使用jenkins創建jobs工作流,可以是一個job或者多個jobs,通過構建觸發機制進行串聯。
3. jenkins將git&svn上的代碼下載到build服務器,進行編譯打包。
4. 打包完畢將產出物創建docker容器鏡像
5. 運行docker容器
在以上過程中jenkins控制多個節點服務器進行工作,而實際在操作的是shell腳本,這就理解了自動部署工具jenkins進行多節點流程控制,shell腳本進行模塊操作。
以上回答希望能夠幫助到你,歡迎大家評論留言。