自動化集成:Jenkins管理工具詳解
- 2021 年 12 月 18 日
- 筆記
- Jenkins, linux, Linux 系統.運維, 持續集成
前言:該系列文章,圍繞持續集成: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