基於Docker+Jenkins實現自動化部署


使用碼雲搭建Git代碼存儲倉庫

 https://gitee.com/login 

  1. 使用碼雲創建私有私有git倉庫
  2. 將本地springboot項目上傳到git倉庫中

 

基於Docker安裝Jenkins環境

 

1.使用docker 安裝jenkins

docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

2.訪問jenkins地址 8080

 

 

注意:第一次啟動的時候正在加載jenkins大概會等待3-10分鍾。

3.解鎖jenkins

 

 

 

 

docker exec -it 7f485bd95c3b  /bin/bash 進入jenkins容器 

cat /var/jenkins_home/secrets/initialAdminPassword

 

大概需要等待3-10分鍾

創建新的用戶

 

 

 

 

 

 

 

Jenkins全局工具配置

進入到jenkins容器中 echo $JAVA_HOME 獲取java環境安裝地址

 

JDK環境安裝

 

 

Maven環境安裝

 

 

 

安裝Jenkins對應Maven插件

找到 “系統管理“ - “安裝插件” ,點擊 “可選插件”,找到如下maven插件的版本  

插件名稱 Maven Integration

 

 

Jenkins實現Springboot項目自動部署

  1. 新建一個發布任務

 

 

  1. 配置任務git賬號密碼

 

 

 

   3.項目打包

 

 

 

   clean install

  1. 點擊立即構建

 

 

 第一次構建可能耗時比較長,因為需要下載一些相關依賴jar包

 


Jenkins啟動成功之后執行shll腳本

#!/bin/bash

#服務名稱

SERVER_NAME=springboot

# 源jar路徑,mvn打包完成之后,target目錄下的jar包名稱,也可選擇成為war包,war包可移動到Tomcat的webapps目錄下運行,這里使用jar包,用java -jar 命令執行  

JAR_NAME=springboot-0.0.1-SNAPSHOT

# 源jar路徑  

#/usr/local/jenkins_home/workspace--->jenkins 工作目錄

#demo 項目目錄

#target 打包生成jar包的目錄

JAR_PATH=/var/jenkins_home/workspace/springboot/target

# 打包完成之后,把jar包移動到運行jar包的目錄--->work_daemon,work_daemon這個目錄需要自己提前創建

JAR_WORK_PATH=/var/jenkins_home/workspace/springboot/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

 

Nohub  java -jar $JAR_NAME.jar

nohub 指的是后台運行,或者使用nohub &

容器映射8081端口

1. 重啟容器

systemctl restart  docker  

 2. 清空未運行的容器

docker rm $(sudo docker ps -a -q)

docker run -p 8080:8080   -p 8081:8081   -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM