1. 程式人生 > >Windows版Jenkins+SVN+Maven自動化部署環境搭建

Windows版Jenkins+SVN+Maven自動化部署環境搭建

前言

因今年公司新產品線較多,為了降低耦合,達到業務分離、重用,提高內部開發效率的目的,採用了基於服務元件、前後端分離的架構體系。與之前傳統單應用架構相比,系統部署、配置更加複雜,為了能夠頻繁地將軟體的最新版本,及時、持續地交付給測試團隊及質量控制團隊,以供評審,所以引入持續整合工具Jenkins,從而實現公司新產品持續整合,自動化部署。

環境準備

安裝Jenkins

  1. 執行下載好的Jenkins安裝包jenkins.msi,選擇安裝路徑,點選”安裝“,等待安裝完成;

    11

  2. 安裝完成以後,會自動啟動瀏覽器,跳轉到Jenkins登入頁面。第一次啟動Jenkins,出於安全考慮,Jenkins會生產一個隨機口令檔案,表單中會給出管理員口令檔案存放的位置,通過Windows+R,調出執行視窗,將存放口令的檔案路徑貼上到輸入框,點選回車,快速開啟檔案,將檔案中的口令輸入到表單中,點“Continue”繼續;

    22

  3. 安裝Jenkins官方建議的預設外掛;

    33

  4. 建立第一個管理員使用者,建立完成以後,就可以用這個使用者登入到Jenkins系統中。

44

安裝外掛

下面介紹實際部署中所用到的幾個外掛,安裝方法:系統管理->管理外掛。

  • 安裝Deploy to container Plugin(自動化部署外掛)
  • 安裝Maven Integration Plugin(Maven整合外掛)
  • 安裝Publish Over SSH Plugin(SSH遠端釋出外掛)

注意:因外掛安裝以後,需要重啟Jenkins才能夠使用。所以在安裝外掛時,可以勾選安裝完成後重啟Jenkins。如果不小心忘記勾選,也沒有關係,可以在瀏覽器網址埠後面輸入/restart來重啟Jenkins,其它的命令,可參考系統管理->Jenkins CLI。

系統配置

外掛安裝完成以後,我們需要對系統進行配置。

  1. 首先進行全域性配置,系統管理->系統設定:

Jenkins Location配置

Jenkins URL項保持預設即可,填寫系統管理員郵件地址。(注意:這個如果不填寫的是傳送不了郵件的,測試郵件傳送時會報:“553 Mail from must equal authorized user”錯誤。)

55

郵件通知配置

填寫“SMTP伺服器”、“使用者預設郵件字尾”,然後點“高階”,勾選“使用SMTP認證”,填寫郵箱使用者名稱、密碼和SMTP埠,接著勾選“通過傳送測試郵件測試配置”,填寫接收郵件的郵箱,點選“測試”,出現“Email was successfully sent”表明郵件通知配置成功。

66

SSH remote hosts配置

SSH遠端主機配置,主要用來通過SSH方式遠端釋出,在後面的章節會詳細介紹。

88

Publish over SSH配置

主要是用來通過SSH方式遠端釋出,在後面的章節會詳細介紹。

99

  1. 然後,進入系統設定->Global Tool Configuration:

SonarQube servers配置

10

Maven配置

配置Maven主要是配置Maven的settings.xml檔案,Jenkins在構建Maven專案時需要依靠該配置檔案來執行Maven,其配置如下:

11

JDK配置

12

SonarQube Scanner配置

13

新建專案

新建一個Maven專案

14

專案配置

###原始碼管理

15

構建觸發器

Jenkins提供了6中構建觸發器,分別是:

  1. build whenever a snapshot dependency is built ,當job依賴的快照版本被build時,執行本job;
  2. 觸發遠端構建 (例如,使用指令碼);
  3. build after other projects are built 當本job依賴的job被build時,執行本job;
  4. build periodically 隔一段時間build一次,不管版本庫程式碼是否發生變化,通常不會採用此種方式;
  5. GitHub hook trigger for GITScm polling 通過Github鉤子觸發;
  6. poll scm 隔一段時間比較一次原始碼,如果發生變更,那麼久build。否則,不進行build,通常採用這種方式。

16

構建(Build)

呼叫Maven “clean install”命令。

17

增加一個構建後步驟(自動部署)

因在Windows環境下部署,所以選擇Execute Windows batch command。

自動部署的思路:設定全域性變數(專案名稱,構建新包路徑,配置檔案路徑,Tomcat路徑等)->關閉Tomcat->刪除Tomcat中舊版本包->拷貝新包到Tomcat應用目錄->啟動Tomcat(解壓包)->關閉Tomcat->替換配置檔案->刪除War包->啟動Tomcat,自己寫的指令碼程式碼如下:

@echo off