mall在Linux環境下的自動化部署(基於Jenkins)

MacroZheng發表於2020-01-09

SpringBoot實戰電商專案mall(25k+star)地址:github.com/macrozheng/…

摘要

本文是mall專案的專屬Jenkins自動化部署方法。

Jenkins的基本使用

關於Jenkins的基本使用可以參考:使用Jenkins一鍵打包部署SpringBoot應用,就是這麼6!

執行指令碼準備

首先我們先把需要遠端執行的指令碼準備好。

  • 指令碼檔案都存放在了mall專案的/document/sh目錄下:

  • 上傳指令碼前在IDEA中修改所有指令碼檔案的換行符格式為LF,否則指令碼會無法執行;

mall在Linux環境下的自動化部署(基於Jenkins)

  • 將所有指令碼檔案上傳到指定目錄,這裡我們上傳到/mydata/sh目錄下;

mall在Linux環境下的自動化部署(基於Jenkins)

  • 將所有指令碼檔案都修改為可執行檔案:
chmod +x ./mall-*
複製程式碼

mall在Linux環境下的自動化部署(基於Jenkins)

Jenkins中建立任務

接下來我們將通過在Jenkins中建立任務來實現自動化部署。由於我們的mall是個多模組的專案,部署上面和曾經的單模組專案還是有所區別的。

mall-admin

由於各個模組的執行任務的建立都大同小異,下面將詳細講解mall-admin模組任務的建立,其他模組將簡略講解。

  • 首先我們選擇構建一個自由風格的軟體專案mall-admin,然後配置其Git倉庫地址,這裡我直接使用了Gitee上面的地址:

mall在Linux環境下的自動化部署(基於Jenkins)

  • 之後我們建立一個構建,構建mall專案中的依賴模組,否則當構建可執行的服務模組時會因為無法找到這些模組而構建失敗;
# 只install mall-common,mall-mbg,mall-security三個模組
clean install -pl mall-common,mall-mbg,mall-security -am
複製程式碼
  • 依賴專案構建示意圖:

mall在Linux環境下的自動化部署(基於Jenkins)

  • 再建立一個構建,單獨構建並打包mall-admin模組:

mall在Linux環境下的自動化部署(基於Jenkins)

  • 新增一個遠端SSH執行任務,去執行mall-admin的執行指令碼:

mall在Linux環境下的自動化部署(基於Jenkins)

  • 點選儲存,完成mall-admin的執行任務建立。

mall-portal

mall-portal和其他模組與mall-admin建立任務方式基本一致,只需修改構建模組時的pom.xml檔案位置和執行指令碼位置即可。

  • 我們可以直接從mall-admin模組的任務複製一個過來建立:

mall在Linux環境下的自動化部署(基於Jenkins)

  • 修改第二個構建中的pom.xml檔案位置,改為:${WORKSPACE}/mall-portal/pom.xml

mall在Linux環境下的自動化部署(基於Jenkins)

  • 修改第三個構建中的SSH執行指令碼檔案位置,改為:/mydata/sh/mall-portal.sh

mall在Linux環境下的自動化部署(基於Jenkins)

  • 點選儲存,完成mall-portal的執行任務建立。

mall-search

參考mall-admin和mall-portal的建立即可。

任務建立完成

mall在Linux環境下的自動化部署(基於Jenkins)

專案地址

github.com/macrozheng/…

公眾號

mall專案全套學習教程連載中,關注公眾號第一時間獲取。

公眾號圖片

相關文章