回覆列表
  • 1 # Tim_Huang

    shell是基礎,而自動化部署是應用。而目前使用jenkins這類比較多。都是web應用。可以有效控制權限。出錯也比較少

  • 2 # IT大叔Cc

    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指令碼進行模組操作。

  • 中秋節和大豐收的關聯?
  • 古代怎麼描述郎才女貌的?