【Docker+Jenkins】三、Jenkins連接Git自動打包部署

一、基於Docker部署安裝Jenkins

二、Jenkins私服配置、環境配置與插件安裝

三、Jenkins連接Git自動打包部署

目錄

一、新建任務

二、對任務進行配置

2.1、配置項目

2.2、添加Git配置

2.3、配置構建Build

2.4、保存更改

三、自動化打包構建

四、自動化部署

4.1、配置Shell腳本

五、開始自動構建

六、配置端口映射訪問項目

七、一直轉圈圈


一、新建任務

點擊新建任務菜單

輸入名稱,選擇構建一個Maven項目,點擊確定

點擊保存即可

 

任務信息

回到頁面即可看到信息,由於剛建立的任務所以並沒有上次記錄,菜單可以對任務進行一些設置等

 

二、對任務進行配置

2.1、配置項目

點擊配置

2.2、添加Git配置

發現回到了建立項目時的配置處

點擊源碼管理->添加Git->按步驟

碼雲Http地址查看示例

由於倉庫是私密的,所以需要配置密碼,添加Jenkins

添加憑據 -> 用戶名和密碼爲Git配置的用戶名和密碼 -> 點擊添加即可

添加之後一定要點擊選擇

Git配置完成

2.3、配置構建Build

輸入clean install 表示打包 即可

2.4、保存更改

三、自動化打包構建

點擊立即構建即可

單擊控制檯輸出可以看到日誌信息

日誌信息簡介

首次運行會下載很多jar文件,需要耐心等待

構建完成

構建完成會提示SUCCESS,根據Install的路徑在容器內cd進入然後查看jar文件,如圖:

 

四、自動化部署

首先部署有兩種第一種當然就是Java -jar運行如圖:

當然這種方式並沒有多大作用,來看看自動部署

4.1、配置Shell腳本

找到需要配置的項目,設置點擊執行Shell

輸入該段命令

#!/bin/bash
#服務名稱  儘量與Jenkins發佈名稱相同  當然Jenkins發佈名稱一般都會是項目名稱
SERVER_NAME=2
# 源jar路徑,mvn打包完成之後,target目錄下的jar包名稱,也可選擇成爲war包,war包可移動到Tomcat的webapps目錄下運行,這裏使用jar包,用java -jar 命令執行  
JAR_NAME=meitedu_springboot-0.0.1-SNAPSHOT
# 源jar路徑  
#/usr/local/jenkins_home/workspace--->jenkins 工作目錄
#demo 項目目錄
#target 打包生成jar包的目錄
JAR_PATH=/var/jenkins_home/workspace/2/target/
# 打包完成之後,把jar包移動到運行jar包的目錄--->work_daemon,work_daemon這個目錄需要自己提前創建,配置與上方相同則代表無處理
JAR_WORK_PATH=/var/jenkins_home/workspace/2/target/
#------------上方的需要更改,下方無需更改----------------------
# 如果存在該進程就先殺掉再運行 
echo "查詢進程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "得到進程ID:$PID"
echo "結束進程"
for id in $PID
do
kill -9 $id  
echo "killed $id"  
done
echo "結束進程完成"
 
#複製jar包到執行目錄
echo "複製jar包到執行目錄:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "複製jar包完成"
cd $JAR_WORK_PATH
#修改文件權限
chmod 755 $JAR_NAME.jar
 
java -jar $JAR_NAME.jar

##BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &

保存即可

 

五、開始自動構建

選擇立即構建即可

啓動成功即可,會發現瀏覽器是訪問不了的,但是可以根據 127.0.0.1+端口號在容器內部訪問

 

六、配置端口映射訪問項目

由於Jenkins在容器內部安裝,所以需要配置映射,此時重啓docker,刪除已經存在的容器重新運行一遍即可

systemctl restart docker #重啓docker
docker rm jenkins #刪除已有的jenkins容器
#此命令代表內部訪問爲8080(容器) 外部訪問爲8087映射端口(瀏覽器) 50000爲Jenkins信息,如下圖
docker run -p 8080:8080   -p 8658:8658 -p 50000:50000 --name jenkins -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

運行命令後重新進入Jenkis部署一遍,即可通過 IP地址 + 端口號 在瀏覽器端進行訪問項目了!

PS:在首頁列表即可快速構建

七、一直轉圈圈

在運行時會發現即使成功構建也一直轉圈圈顯示未停止,那麼原因是因爲Java -jar運行方式本身就是前臺運行的,修改配置文末尾運行命令即可

java -jar $JAR_NAME.jar

替換爲

BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &

即可

完成重啓如圖:不再轉圈!

 

 

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