springboot+jenkins+git+maven部署


上一篇搭建jenkins不在贅述。

安裝必要插件

  • Folders
  • OWASP Markup Formatter
  • Build Timeout
  • Maven Integration
  • publish over ssh
  • SSH
  • Git Parameter

進入jenkins插件管理,在可用插件頁面搜索以上插件並下載。

配置ssh信息

插件下載完畢之后進入 --系統設置。

passphrase:虛擬機密碼

如果沒有SSH servers 點擊新增。

name:別名(沒有特殊意義)

hostname:虛擬機地址

username:虛擬機登錄用戶名

remote directory:虛擬機根目錄

test Configuration:測試是否可以連接成功 ,success為成功

配置本地工具

進入Global Tool Configuration 全局工具配置

配置本地jdk

配置本地git

配置本地maven

新建一個maven項目

設置git

源碼管理選擇git,輸入git倉庫地址和選擇認證密碼

點擊添加,添加憑證。可以選擇賬號密碼也可以選擇私鑰。

設置構建觸發器
  • Build whenever a SNAPSHOT dependency is built 每當建立SNAPSHOT依賴項時就進行構建
  • 觸發遠程構建 (例如,使用腳本) 觸發遠程重建(例如,使用腳本)
  • Build after other projects are built 在其他項目建成后建造
  • Build periodically 定期建立
  • GitHub hook trigger for GITScm polling GitHub鈎子觸發GITScm輪詢
  • Poll SCM 輪詢SCM

這里我選擇輪詢(每三十分一次)

輪詢的規則點擊右邊問號。(篇幅太長不截圖)

設置Build

填入命令

clean install -Dmaven.test.skip=true -Ptest

設置Post Steps

依次填入

  • 服務器地址 name:ip
  • 源文件 source files : target/*.jar
  • 刪除前綴 remove prefix :target/
  • 遠端目錄 remote directory :/usr/local/jenkins//(注意這里是雙斜杠)
  • 執行命令 exec command :/usr/local/jenkins/startup.sh
新建startup.sh啟動腳本

/usr/local/jenkins下新建一個startup.sh腳本

更改權限 : chmod 777 startup.sh

DATE=$(date +%Y%m%d)
## 配置環境變量
export JAVA_HOME JRE_HOME PATH CLASSPATH
JAVA_HOME=/usr/local/jdk-11.0.1
JRE_HOME=\$JAVA_HOME/
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

## 注意stu是我的springboot工程名
DIR=/root/.jenkins/workspace/school/target/stu-0.0.1-SNAPSHOT.jar
## jar文件
JARFILE=stu-0.0.1-SNAPSHOT.jar
##如果文件夾backup不存在就新建
if [ ! -d $DIR/backup ];then
mkdir -p $DIR/backup
fi
##進入dir文件下
cd $DIR
## 殺掉之前存在的該jar的進程(第一次會有kill 命令的提示,不影響)
ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9

## 移動文件
mv $JARFILE backup/$JARFILE$DATE
## 移動到遠程目錄
mv -f /usr/local/jenkins//$JARFILE .
## 啟動jar並輸出日志
java -jar $JARFILE > out.log &

if [ $? = 0 ];then
sleep 30
tail -n 50 out.log
fi

cd backup/

ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf

等待jenkins自動構建(push 代碼)或者手動構建

構建完成

參考博客:https://blog.csdn.net/qq_35867875/article/details/87178382 ;作者:Mr_zqcheng


免責聲明!

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



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