自動化集成:Jenkins管理工具詳解

前言:該系列文章,圍繞持續集成:Jenkins+Docker+K8S相關組件,實現自動化管理源碼編譯、打包、鏡像構建、部署等操作;本篇文章主要描述Jenkins基礎用法

一、Jenkins安裝

1、環境部署

下載Jenkins包

注意這裡直接下載war文件,以Java服務的形式啟動。

  • 環境:war運行
  • 版本:2.289.3
  • 類型:Generic Java package (.war)

啟動命令

java -jar jenkins.war --httpPort=8090

啟動日誌

Jenkins is fully up and running

訪問本地埠:8090

該頁面會提示初始登錄密碼的位置,查看該文件中初始密碼,並完成登錄。

/.jenkins/secrets/initialAdminPassword

安裝推薦插件

登錄之後先把推薦的插件裝上。

創建用戶

插件安裝完成之後會提示創建用戶。

帳號:admin  密碼:admin

這樣初始化完成。

重新啟動:restart

Jenkins_url/restart

2、配置與插件

基礎配置

打開:Manage-Jenkins選項,配置Global-Tool-Configuration選項:

- 查看JDK安裝目錄
/usr/libexec/java_home -V

- 查看Git安裝目錄
which git

- 查看Maven安裝目錄
mvn -v

配置組件:JDK、Git、Maven,採用開發環境的組件版本;

插件安裝

安裝如下插件:

1、Maven插件
Maven Integration plugin

2、Pipeline插件
Pipeline Utility Steps

二、本地Git打包

簡介:基於Jenkins完成本地的Git倉庫項目打包;

1、新建Item

  • 任務名稱:MavLoc,處理本地maven工程;
  • 任務類型:選擇構建maven項目;

2、構建記錄管理

保持構建的天數:3天,保持構建的最大個數:10個;

3、構建過程

前置Pre-Steps步驟,這裡執行一次maven版本查看:

構建Build步驟,這裡直接寫項目的pom路徑,注意執行的maven命令:

clean package -Dmaven.test.skip=true

後置Post Steps步驟,注意選擇構建成功後才執行,自行忽略這裡shell語法的不入流組合:

#!/bin/bash

BUILD_ID=dontKillMe

# 定義目錄
AUTO_PATH=/項目路徑/butte-auto-parent/

# 移動Jar包
cd $AUTO_PATH/auto-client/target/
pwd
mv auto-client-1.0-SNAPSHOT.jar $AUTO_PATH

cd $AUTO_PATH/auto-serve/target/
pwd
mv auto-serve-1.0-SNAPSHOT.jar $AUTO_PATH

# 啟動服務
cd $AUTO_PATH

nohup java -jar auto-client-1.0-SNAPSHOT.jar &
echo "run auto-client ..."

sleep 20s

nohup java -jar auto-serve-1.0-SNAPSHOT.jar &
echo "run auto-serve ..."

4、執行構建

上述配置完成後,打開任務頁面,執行如下操作:

  • Build Now:執行上面的構建任務;
  • 構建 #ID:查看控制台輸出的日誌;

這樣就可以通過jenkins完成本地項目的打包和啟動了。

三、API觸發任務

1、用戶令牌

簡介:通過配置用戶API訪問的token令牌,脫離jenkins控制台,直接觸發構建任務;

進入用戶面板的設置選項,配置API Token:

注意這裡生成令牌後要立刻複製下來,頁面會提示token無法復現。

2、任務令牌

任務配置的構建觸發器模組,設置遠程構建的令牌:

上面已經給到token的使用方式。

3、腳本觸發

通過如下方式,直接觸發上述構建任務的流程:

curl //用戶:令牌@Jenkins_Url/job/MavLoc/build?token=任務令牌

這裡通過腳本直接請求URL的方式觸發流程。

四、打包Git項目

1、配置倉庫

創建MavGit任務,這裡不做過多的配置,與本地倉庫相比,只是把倉庫地址換成Gitee地址,只配置倉庫url和分支即可,其他採用默認:

因為是開放的倉庫地址,所以不用配置帳號密碼,默認指定master分支,然後執行build構建。

2、查看空間

上面流程執行完後,查看MavGit的工作空間:/.jenkins/workspace/MavGit

這裡可以明顯發現,倉庫的程式碼已經被pull下來,並且完成了自動打包流程,後續結合shell腳本完成jar啟動管理即可。

同系列文章:┃ 服務部署發布灰度模式自動化流程消息中間件改造微服務組件二次淺封裝

五、源程式碼地址

GitEE·地址
//gitee.com/cicadasmile/butte-auto-parent
Wiki·地址
//gitee.com/cicadasmile/butte-java-note/wikis