說明:部署springboot項目的jar
前提(參考:https://www.cnblogs.com/myitnews/p/11493779.html):
- 全局安全配置(前面配置過)
- 全局工具配置(前面配置過)
- 管理插件(根據需要安裝插件,前面配置過)
- 已將項目代碼提交到SVN倉庫。
1. 創建任務
2. 配置項目
(1) General
勾選丟棄舊的構建,選擇是否備份被替換的舊包。我這里選擇備份最近的10個。
(2) 源碼管理
(3) 構建環境
代碼構建的過程中會將日志打印出來。
(3) Build
clean install -Dmaven.test.skip=true -Ptest
(4) Post Steps
#!/bin/bash # /opt/jenkins/deploy/是新建的目錄 # 大致意思就是進入目錄,stop.sh:停止應用; replace.sh:拷貝應用jar; startup.sh:運行jar cd /opt/jenkins/deploy/ ./stop.sh ./replace.sh echo "Execute shell Finish" BUILD_ID=dontKillMe nohup /opt/jenkins/deploy/startup.sh &
在/opt/jenkins/deploy/目錄下創建startup.sh、stop.sh、replace.sh。
stop.sh、replace.sh和startup.sh內容如下:
stop.sh
#!/bin/bash # stop.sh # shelloworld-0.0.1-SNAPSHOT.jar是生成的jar包名稱 echo "Stopping SpringBoot" pid=`ps -ef | grep shelloworld-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'` if ["$pid" == ""] then echo "helloboot is already stop!" else echo "kill -9 的pid:"+$pid kill -9 $pid fi
replace.sh
#!/bin/bash # replace.sh # HelloWorld 是在Jenkins中創建的任務名稱 # /opt/jenkins/project 是新建存放jar包的目錄,將Jenkins生成的jar包拷貝到這個目錄下 cp /root/.jenkins/workspace/HelloWorld/target/shelloworld-0.0.1-SNAPSHOT.jar /opt/jenkins/project
startup.sh
#!/bin/bash # startup.sh java -jar /opt/jenkins/project/shelloworld-0.0.1-SNAPSHOT.jar>log.file 2>&1&
3. 立即構建,查看控制台輸出,成功后,瀏覽器訪問。