詳解jenkins自動部署springboot應用的方法
最近公司在利用jenkins自動部署springboot應用,以前別人配的那個jenkins雖說可以正常部署,但是多次反復部署之后jenkins會報錯,提示內(nèi)存不足:
Maven JVM terminated unexpectedly with exit code 137
原因是因為jenkins沒有配置部署新的應用前先把舊的應用進程先kill掉而導致在服務器上有多個應用進程。因此自己決定摸索如何配置jenkins可以每次部署都把舊進程kill掉再啟動新進程。
安裝Jenkins
安裝命令:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key sudo yum install jenkins
啟動/停止Jenkins:
sudo service jenkins start/stop/restart sudo chkconfig jenkins on
安裝完成后,默認端口是8080,可以在啟動日志中查看管理員密碼,日志路徑:/var/log/jenkins/jenkins.log;
安裝Jenkins后,啟動Jenkins需要Java環(huán)境,如果啟動報錯記得查看服務器是否安裝了JRE;
此時還不能通過ip和端口訪問Jenkins,還要配置防火墻:
vim /etc/yum.repos.d/jenkins.repo #需要root權限 #在文件中寫入如下內(nèi)容: firewall-cmd --permanent --new-service=jenkins firewall-cmd --permanent --service=jenkins --set-short="Jenkins Service Ports" firewall-cmd --permanent --service=jenkins --set-description="Jenkins service firewalld port exceptions" firewall-cmd --permanent --service=jenkins --add-port=8080/tcp firewall-cmd --permanent --add-service=jenkins firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --reload #保存退出 firewall-cmd --list-all
到此為止,Jenkins基本安裝完成了,在瀏覽器輸入ip:prot 就可以訪問了。
一、首先需要先配置好jenkins的基本配置,這些就不在這里一一詳述了,只寫一個Publish over SSH的
1、先安裝好該插件 :Publish over SSH
2、配置如下:
點開下面的高級配置登錄linux服務器的密碼。
2、然后就是配置部署項目的東西了。
配置從源碼庫拉取代碼:
構建環(huán)境中勾選,代碼構建的過程中會將日志打印出來
Pre Steps和Build:
Post Steps:
Exec command中是要通過SSH去服務器上執(zhí)行的腳步以及腳本文件;
Source files配置:target/xxx-0.0.1-SNAPSHOT.jar 項目jar包名
Remove prefix:target/
Remote directory: 代碼應用服務器的目錄地址,
Exec command:應用服務器對應的腳本。
以下是腳本文件內(nèi)容:
stop.sh
#!/bin/bash echo "stop SpringBoot BAppApiServerApplication" pid=`ps -ef | grep ejoyst-bappapi-gateway.jar | grep -v grep | awk '{print $2}'` echo “舊應用進程id:$pid” if [ -n "$pid" ] then kill -9 $pid fi
start.sh
#!/bin/bash export JAVA_HOME=/usr/java/jdk1.8.0_161 echo ${JAVA_HOME} echo "授權當前用戶" chmod 777 /opt/deploy/ejoyst-bappapi-gateway.jar echo "執(zhí)行...." cd /opt/deploy/ nohup ${JAVA_HOME}/bin/java -jar ejoyst-bappapi-gateway.jar > /dev/null & echo "啟動成功"
構建后操作中 配置Archive the artifacts:內(nèi)容是當前構建應用的jar包或者war包的相對路徑,
這樣可以在部署成功頁面看到,可以直接點擊下載:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Jenkins+Docker?一鍵自動化部署?SpringBoot?項目的詳細步驟
- Jenkins一鍵打包部署SpringBoot應用的方法步驟
- 使用jenkins部署springboot項目的方法步驟
- Jenkins Pipeline 部署 SpringBoot 應用的教程詳解
- springboot docker jenkins 自動化部署并上傳鏡像的步驟詳解
- jenkins+docker+nginx+nodejs持續(xù)集成部署vue前端項目
- Jenkins自動化部署Vue項目的方法實現(xiàn)
- 使用jenkins一鍵打包發(fā)布vue項目的實現(xiàn)
- jenkins自動構建發(fā)布vue項目的方法步驟
- 云服務器Jenkins部署Springboot項目及Vue項目的詳細過程
相關文章
Springboot 2.x集成kafka 2.2.0的示例代碼
kafka近幾年更新非常快,也可以看出kafka在企業(yè)中是用的頻率越來越高。本文主要為大家介紹了Springboot 2.x集成kafka 2.2.0的示例代碼,需要的可以參考一下2022-04-04Elasticsearch寫入瓶頸導致skywalking大盤空白
這篇文章主要為大家介紹了Elasticsearch寫入瓶頸導致skywalking大盤空白的解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-02-02Spring?AI借助全局參數(shù)實現(xiàn)智能數(shù)據(jù)庫操作與個性化待辦管理
這篇文章主要介紹了Spring?AI借助全局參數(shù)實現(xiàn)智能數(shù)據(jù)庫操作與個性化待辦管理,本文給大家介紹的非常詳細,需要的朋友可以參考下2024-11-11