2-1.jenkins部署-自由風格方式

  • 項目摘要:
  1. 需要一臺linux虛擬機環境(本文是基於centerOS7),本內容基於文檔https://blog.csdn.net/qq_25337221/article/details/106069147爲基點。
  2. 本文檔軟件版本:
  1. git :1.8.3.1  
  2. jdk 1.8.0
  3. Jenkins 2.222.3
  1. 小提示:經檢測,上文的源碼裏關於pom.xml配置稍有問題,在本文源碼下載已修正。
  2. 本文檔僅是一個入門案例。
  • 項目具體實施:
  1. 安裝git
  2. 安裝jdk

首先卸載自帶jdk

yum remove *openjdk*

  1. 安裝mysql

https://www.runoob.com/mysql/mysql-install.html

  1. 安裝maven

首先卸載本地自帶maven

# rm -rf /etc/maven

# rm -rf /usr/share/maven

有時候還會報錯,將報錯地址刪除即可。

# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

# tar -xf apache-maven-3.6.3-bin.tar.gz

mv apache-maven-3.6.3 /usr/local

vim /etc/profile

加入:

export  MAVEN_HONE=/usr/local/apache-maven-3.6.3

export  PATH=...:${MAVEN_HONE}/bin:$PATH

#source /etc/profile

# mvn -v   

執行成功則maven安裝成功

  1. 安裝jenkins
    1. 進入網站:https://pkg.jenkins.io/redhat-stable/
    2. sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    3. sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    4. yum install jenkins
    5. systemctl start jenkins
    6. 瀏覽器輸入http://ip:8080
    7. cd /var/lib/jenkins/secrets
    8. cat initialAdminPassword
  2. 操作:

  1. 選擇推薦的安裝
  2. 配置全局工具(JDK、git、maven)
 
 


擊系統管理,選擇全局工具配置,配置jdk。

配置git,不知道git地址可以執行下面這條命令查找,

# which git

 
 

 

maven配置

 
 

 

保存即可。

  1. 點擊新建任務,選擇構建一個自由風格的軟件項目,任務名稱爲:springboot-demo-freestyle,點擊確定。
 
 


配置General

  1. 配置源碼管理
  2. 這裏要注意,前提是ssh已生成,並且已經設置到GitHub可以拉取成功代碼。

 
 

 


此時可以構建一下項目,觀察時候構建成功。然後再進行下一步操作。

  1. 配置構建環境(構建觸發器放到後面)

配置構建過程

<1>配置maven

   目標: clean install -Dmaven.test.skip=true  (截圖有一點錯誤,install中間要有空格)


這裏選擇maven(自己配置的maven),不選擇默認

可以執行cd /var/lib/jenkins/workspace觀察自己項目的路徑來配置。如果是../構建項目名/pom.xml,則這裏直接配置pom.xml即可。如果裏面是自己的項目名.../pom.xml,則這裏的地址從自己項目名這一步開始,直到pom.xml,這一步很容易出錯。

這裏也可以構建一次測試是否成功。

<2> 配置maven執行前


在“增加構建步驟”中選擇“執行shell”,並將其挪至maven上面。

源碼如下(項目名要改成自己的):

echo "Stopping SpringBoot Application"

pid=`ps -ef | grep user-service-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`

if [ -n "$pid" ]

then

   kill -9 $pid

fi

<3>配置maven執行後

和上面一樣,繼續添加一個shell面板,加入如下代碼:

#!/bin/bash -ile

project=user-service-0.0.1-SNAPSHOT.jar  #這裏需要替換成你jar包的名字

pathName=springboot-demo-freestyle/user-service      #這裏也替換成你的,每個人不一樣

echo "拷貝文件"

rm -rf /usr/local/src/java/$project   #刪除舊的war包    (這是我的war路徑,可以改成你的war包路徑)

cp  /var/lib/jenkins/workspace/$pathName/target/$project /usr/local/src/java/ #因爲jenkins打包自動放在它自己的目錄下,我就cp複製到了我定義的目錄下  /usr/local/src/java/ 下

echo "切換路徑"

cd /usr/local/src/java/

pid=`ps -ef | grep $project | grep -v grep | awk '{print $2}'`  #殺掉原有項目進程

if [ -n "$pid" ]

then

   kill -9 $pid

   echo "殺死存在進程"

fi

BUILD_ID=dontKillMe

echo "執行"

nohup java -jar $project &   #啓動進程

echo "啓動成功!"

這個時候,再構建一次項目,如果都沒問題,可以在命令行檢查項目運行情況,可以使用curl命令執行一下是否可以正常訪問,再瀏覽器嘗試訪問。

端口使用情況命令:

# netstat -ntulp |grep 端口號

# lsof -i: 端口號

  1. 添加QQ郵件發送

 <1>選擇系統配置

 
 

<2> 配置Jenkins Location

<3>配置Extended E-mail Notification

首先需要去QQ郵箱開啓發送功能,這部分參照QQ郵箱教程。

 
   

 

 
   


<4>配置郵件通知

 
   


<5> 保存切換到項目配置,在構建後操作選擇增加構建後操作步驟,選擇Editable Email Notification,如下配置:


至此,郵件配置完畢。如果要發送到slack比較簡單,但是slack配置有一點要注意,測試連接前先保存,否則測試不成功。

  1. 添加構建觸發器

這裏使用了jenkins+gitHub方式,這種方式要求jenkins所在服務器一定要有公網ip,這一點要注意。

<1>在github網站配置webhooks

 
 

 

 
 

 

 

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<2>生成Personal access tokens

選擇github的setting,然後選擇Developer settings,接着選擇Personal access tokens,點擊Generate new token,配置如下:

將生成的token複製保存好。

<3>配置jenkins

在系統配置裏添加git服務器


有時候測試連接不一定可以成功,可以暫時忽略這個錯誤,繼續後續操作。

 
 

<4>在自己的創建項目配置中的構建觸發器中選擇“GitHub hook trigger for GITScm polling,有時候會有警告,這個問題暫時沒找到怎麼解決,但是它不影響觸發事件。

 
 

<5>配置構建環境

 
 

此時,可以隨便改幾行代碼,然後更新到gitHub,測試觸發器是否觸發項目構建。

  1. 添加參數化構建過程(略)

這裏涉及到一個插件:Extended Choice Parameter

  1. 添加git參數化(略)

這裏涉及到一個插件:Git Parameter

  • 參考鏈接:
  1. jenkins中springboot項目腳本: https://blog.csdn.net/lcz134258/article/details/90632700
  2. Jenkins中郵件通知:

https://www.cnblogs.com/cmnz/p/9356282.html

  1. Jenkins+GitHub構建觸發器:

https://blog.csdn.net/boling_cavalry/article/details/78943061

本內容源碼及文檔下載地址(除了源碼,文檔和本文一致,源碼是2.1基礎上改了一部分環境問題的配置):https://download.csdn.net/download/qq_25337221/12427514

本內容由安康學院“雨季”原創。

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