【Jenkins】Java 的 CICD

終於到了Jenkins的發佈了,對於 Jenkins 的搭建,前兩天寫了一篇【Jenkins】安裝 + 升級 踩坑記 ,今天晚上尋思着抽點時間寫一下 Jenkins + Java 的編譯及發佈過程

系統:centos 7
Jenkins: 2.222
Jdk:1.8
Mavne: 3.6.3

與Jenkins環境的搭建,本地新增環境 Maven, 用於編譯Java項目

在開始之前,我們要選擇幾個插件,這裏先說明下插件的安裝

Jenkins -> Plugin Manager 插件管理路徑

在這裏可以選擇自己需要的插件進行安裝,如遇到不起效插件,安裝後重啓 Jeninks 服務

這裏推薦一箇中文插件:搜索 Localization: Chinese (Simplified)  安裝即可

Jenkins CICD 重要環節

1,服務器配置,用於登陸服務器
2,Jdk 配置,及 Maven 配置,用於項目打包
3,Svn 憑證配置(用於訪問 Svn 並拉取代碼)

1,服務器設置,主要作用是將程序發佈到對應服務器上

插件的選擇

Subversion Plug-in Svn 代碼服務插件(Svn 服務器,需要配置鉤子程序,纔可以進行代碼拉取)

Publish Over SSH 這個插件即可解決我們遠程連接服務器的配置插件,安裝後進行如下操作

配置好後進行 TestConfiguration ,查看是否可以成功訪問

這裏不僅可以使用服務器賬號密碼方式,同樣可以使用 Key 進行訪問登錄

 

2,Jdk 與 Maven 配置

Jenkins -> Global Tool Configuration 全局配置路徑

Maven 全局配置路徑,maven 的 setting.xml 文件地址配置上去

Jdk 全局配置路徑,配置 Jdk 的安裝目錄


在這裏對憑證進行管理,添加憑證,只需要選擇範圍,然後填入用戶名,密碼

上圖爲我已經配置好的 Svn 憑證

由於個人使用的是 Svn,所以這裏已經配置好了

以上爲搭建 Maven 項目打包及發佈的基礎配置,共有,Svn憑證,服務器配置,Maven及Jdk配置

 

下面,我們步入正題,這裏我只說明下我發佈的目標及思路:

目標:定時完成自動拉取代碼,打包併發布

思路:1,從代碼服務器拉取代碼(會判斷是否存在更新)

           2,打包

           3,發佈項目到服務器後,關閉原有正在運行的服務,然後替換新包後進行服務啓動

 

具體配置內容:

           1,簡單做下項目描述

        2,源碼管理

        3,構建觸發器

       4,構建觸發器,這裏好幾種,Poll Scm 爲定時設定(定時配置內容,需要根據實際情況而定)

       5,不需要構建環境配置

       6,構建

說明:maven 命令是  mvn  ,這裏採用maven打包,則不需要將 mvn 作爲執行命令的前綴,因爲 命令執行時, 系統會自動將選擇的 Maven 進行命令填充,如,目標爲 clean,實際執行未 mvn clean

        7, 構建後的操作(發佈)

這是配置的最後一個環節

        8,Exec command,執行腳本命令,該腳本存放到對應服務器目錄下,配置如上圖 /usr/local/application/sh/xxxxx.sh,配置到固定地址

#!/bin/bash
echo '開始執行腳本'

# 按端口kill掉當前運行的程序
kill -9 `lsof -t -i:8083`

# 移動代碼到指定運行目錄下
mv xxxxxxxxxx.jar /usr/local/application/

# 睡3秒
sleep 3s

#啓動服務,並且將日誌記錄到了文件
nohup java -jar xxxxxxxxxx.jar --server.port=8083 --spring.profiles.active=test >/usr/local/application/log 2>&1&

echo '執行完了構建'

 

配配置結束後,再看看是否可以運行

待打包及發佈過程在代碼中的時候,控制檯輸出: Finished: SUCCESS ,發佈成功

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章