此文章是建立在已經安裝了jdk和jenkins的基礎上繼續步驟
安裝jdk和jenkins可參考:
https://blog.csdn.net/l19901215/article/details/89949290
1.安裝配置maven,具體操作可自行查找
2.安裝如下的幾個jenkins插件:
①Publish Over SSH用於連接遠程服務器
②Deploy to container插件用於把打包的應用發佈到遠程服務器
③Maven Integration用於構建maven項目
安裝步驟如下:
3.全局工具配置
配置maven配置文件、jdk目錄、maven目錄
4.使用用戶名+密碼方式登錄遠程服務器
配置完成後可點擊“Test Configuration”測試到目標主機的連接,出現”success“則成功連接,如果有多臺應用服務器,可以點擊”增加“,配置多個“SSH Servers” 點擊“保存”以保存配置。
5.部署項目
①新建Item,輸入任務名,選擇第一個或者第二個。點擊確定
②勾選丟棄舊的構建,備份替換的舊包的個數和天數可以隨意寫
③源碼管理,根據自己項目選擇git或者svn
url輸入svn項目路徑
Credentials點擊添加,添加自己的svn用戶名和密碼
其他默認
④構建觸發器
觸發器建議使用這2種
1.定時構建
定時構建就是沒隔一段時間就是構建1次任務
0 12 20 * * * 代表每天12時和20時候構建1次項目
第1個代表分,第2個代表時,第3個代表日,第4個代表月,第5個代表周
2.輪詢SCM
輪詢SCM就是查看源碼管理的代碼有沒有更新,如果更新了就去構建,沒有更新就不會構建
- /5 * * * *代表每5分鐘就去查看源碼有沒有更新
⑤構建環境
可勾選構建開始前刪除之前的工作區和打印日誌時添加時間
⑥構建
maven版本選擇之前配置好的
目標填入要執行的mvn命令
pom可填入pom.xml
⑦構建後操作
name:選擇之前配置好的遠程服務器
source fles:構建好的jar包在本機的位置
remove prefix:遠程服務器忽略的前綴
remote directory:放到遠程服務器的目錄,默認爲遠程計算機root路徑下
exec command:執行的命令。填入放在遠程服務器的腳本文件所在路徑
6.對遠程計算機進行相關配置
① 遠程計算機需要安裝jdk
②在root目錄下新建剛剛在上一步“構建後操作”所設置的remote directory的目錄(如:Jenkins-in)
③在上一步“構建後操作”所設置的exec command的目錄新建腳本文件(如:xxx.sh)
腳本文件的內容如下:
DATE=$(date +%Y%m%d)
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/java/jdk1.8.0_131
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/root/xxx
JARFILE=xxx-0.0.1-SNAPSHOT.jar
if [ ! -d $DIR/backup ];then
mkdir -p $DIR/backup
fi
cd $DIR
ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9
mv $JARFILE backup/$JARFILE$DATE
mv -f /root/Jenkins-in/$JARFILE .
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
這段腳本的意思,就是 kill 舊項目,刪除舊項目,啓動新項目,備份老項目。
其中需要自己修改 JAVA_HOME=自己安裝的java路徑及版本
DIR=自己創建的放入jar包的路徑
JARFILE=JAR包名字
mv -f 自選創建的放入jar包的路徑/$JARFILE
創建完腳本保存退出之後,給該文件權限
chmod +x xxx.sh
7.在jenkins中點擊剛剛創建的任務,啓動任務
然後點擊左下方對應的任務,然後點擊控制檯輸出,可查看日誌
啓動成功後,可輸入遠程服務器地址和項目名稱進行訪問。
至此使用 Jenkins 部署 Spring Boot (JAR包)項目到遠程服務器操作結束