您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Jenkins如何自動(dòng)部署SpringBoot項(xiàng)目的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
下載jenkins安裝包,maven安裝包;打開xftp將安裝包上傳到服務(wù)器;弄maven鏡像:進(jìn)入maven的conf文件夾,vim打開setting.xml文件添加阿里云鏡像;wq!保存退出。
<!-- 阿里鏡像倉庫 --> <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url> http://maven.aliyun.com/nexus/content/groups/public/ </url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
配置環(huán)境變量,打開/etc/profile文件,添加maven的環(huán)境變量;添加完成后記得執(zhí)行source /etc/profile使環(huán)境變量生效。添加配置如下:MAVEN_HOME改成自己maven的安裝目錄
MAVEN_HOME=/usr/local/maven3 export MAVEN_HOME export PATH=${PATH}:${MAVEN_HOME}/bin
運(yùn)行 mvn -v驗(yàn)證maven是否安裝成功
進(jìn)入jenkins安裝位置執(zhí)行:java -jar jenkins.war &;啟動(dòng);啟動(dòng)不成功,如果是端口占用,可以使用如下命令修改端口號(hào)并啟動(dòng)。執(zhí)行之后生成一個(gè)密碼,記下來
java -jar jenkins.war --ajp13Port=-1 --httpPort=8081 &
訪問jenkins;如果訪問不了,檢查有沒有在阿里云和寶塔開放上面使用端口的安全組;如果不用寶塔那么開發(fā)端口要使用命令:
firewall-cmd --zone=public --add-port=8081/tcp --permanent
訪問http://服務(wù)器ip:端口號(hào);出現(xiàn)jenkins登錄頁面,使用第5步記住的密碼登錄。
選擇系統(tǒng)管理,插件管理
安裝ssh插件,點(diǎn)擊可選插件,搜索Publish Over SSH插件,安裝Plublish Over SSH插件之前得先按照Infrastructure plugin for Publish Over X插件。否則報(bào)錯(cuò)。
插件中搜索gitee,安裝插件。
搜索 Jackson 2 API 插件
搜索Java JSON Web Token (JJWT) 插件,Javadoc Plugin插件,JUnit Plugin
搜索Maven Integration plugin插件,找不到就去掉后面的plugin搜索
搜索 Publish Over SSH;SSH Build Agents plugin;SSH Credentials Plugin;SSH plugin;SSH2 Easy Plugin插件
插件在后面如果出現(xiàn)問題提示是插件出現(xiàn)問題,可以再百度一下缺少哪些插件再繼續(xù)安裝 3、Jenkins設(shè)置憑據(jù) 選擇系統(tǒng)管理,點(diǎn)擊Manage Gredentials,
點(diǎn)擊Jenkins
點(diǎn)擊全局憑據(jù)
添加服務(wù)器憑據(jù),填寫服務(wù)器登錄用戶名和密碼
添加gitee用戶憑據(jù),填寫gitee賬號(hào)用戶名密碼添加gitee私人令牌的憑據(jù),去gitee賬號(hào)添加私人令牌,獲取到私人令牌再添加憑據(jù)。
選擇Manage Jenkins系統(tǒng)管理,選擇Global Tool Configuration全局工具配置進(jìn)入配置java的一些配置環(huán)境
進(jìn)入配置環(huán)境Maven和JDK并保存
這里的Maven選擇服務(wù)器中下載的maven的路徑,JDK選擇服務(wù)器安裝路徑,找不到JDK安裝路徑可以看這里服務(wù)器jdk安裝位置查詢步驟:
jdk取消自動(dòng)安裝,選擇服務(wù)器中jdk的安裝地址
返回選擇Manage Jenkins系統(tǒng)管理,選擇系統(tǒng)配置
Maven配置
jenkins URL配置
環(huán)境變量配置
SSH配置
Gitee配置
使用密鑰方式登錄目標(biāo)發(fā)布服務(wù)器
輸入命令:ssh-keygen -t rsa回車;出現(xiàn)東西直接復(fù)制()里面的東西粘貼;回車;一直回車知道出現(xiàn)圖形。
進(jìn)入 /root/.ssh文件夾下ls可以查看有三個(gè)東西,一個(gè)私鑰,一個(gè)公鑰,authorized_keys文件。使用命令:cat id_rsa.pub >> /root/.ssh/authorized_keys;文件將公鑰追加到authorized_keys文件中。
在系統(tǒng)配置中的Public over SSH上的Path to key寫上生成的ssh路徑::/root/.ssh/id_rsa
選擇Confing System,配置ssh服務(wù),填寫下面信息
點(diǎn)擊Test之后如果出現(xiàn)錯(cuò)誤以下錯(cuò)誤,那么看看有沒有設(shè)置了憑據(jù):
新建一個(gè)springboot項(xiàng)目,寫個(gè)demo測(cè)試可不可以運(yùn)行,然后上傳到gitee上新建tiem(新建任務(wù)),在Jenkins中新建任務(wù),選擇構(gòu)建一個(gè)maven項(xiàng)目,然后確定
General設(shè)置Gitee項(xiàng)目鏈接
源碼管理,在git那里點(diǎn)擊高級(jí),將+refs/heads/master:refs/remotes/origin/master +refs/pull/*/MERGE:refs/pull/*/MERGE 填入Refspec中
構(gòu)建觸發(fā)器,構(gòu)建環(huán)境
系統(tǒng)設(shè)置中的SSH remote hosts
設(shè)置Pre Steps,Build,Build點(diǎn)擊高級(jí)可以展開填寫如下信息
設(shè)置Post Steps
shart.sh文件內(nèi)容如下:
/root/www/javaweb/project/testJenkis/demo-0.0.1-SNAPSHOT.jar是項(xiàng)目編譯后jar包出現(xiàn)在這里,jar命令是以項(xiàng)目的pom文件中的artifactId和version拼接起來的。
/root/www/javaweb/project/testJenkis/out.log是項(xiàng)目編譯后日志文件位置。
#!/bin/bash source /etc/profile export JAVA_HOME PATH CLASSPATH JAVA_HOME=/usr/java/jdk1.8.0_121 #你自己的jdk路徑 PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH export BUILD_ID=dontKillMe echo " =====關(guān)閉Java應(yīng)用======" PROCESS=`ps -ef |grep java |grep -v grep|grep /root/www/javaweb/project/testJenkis/demo-0.0.1-SNAPSHOT.jar|awk '{print $2}'` for i in $PROCESS do echo "Kill the $1 process [ $i ]" kill -9 $i done echo " =====啟動(dòng)Java應(yīng)用======" nohup java -jar /root/www/javaweb/project/testJenkis/demo-0.0.1-SNAPSHOT.jar > /root/www/javaweb/project/testJenkis/out.log 2>&1 & echo $! > savePid.txt cat savePid.txt rm savePid.txt
然后給start.sh文件授權(quán),命令如下: 777代表可讀可寫可執(zhí)行
chmod -R 777 start.sh
應(yīng)用保存任務(wù)設(shè)置點(diǎn)擊立即構(gòu)建,
可以選擇控制臺(tái)輸出查看運(yùn)行結(jié)果,如果出現(xiàn)錯(cuò)誤,看提示修改,如果成功則可以訪問項(xiàng)目中設(shè)置的接口路徑。
1、重新啟動(dòng)jenkins忘記了登錄密碼
1. cd /root/.jenkins/users命令進(jìn)入users文件夾,查看該文件下是否有用戶文件夾,找到admin文件夾
2. 打開admin文件夾,發(fā)現(xiàn)里面有一個(gè)config.xml文件,打開改文件,找到passwordhash,可以先復(fù)制保存一下原來的passwordhash
3. 然后將passwordhash中的內(nèi)容修改成如下內(nèi)容并保存退出:`#jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq`
4. 然后重啟jenkins,如果重啟失敗,可能端口占用,估計(jì)是之前啟動(dòng)的jenkins還在運(yùn)行,因此可以查看一下netstat -anp|grep 8081;端口是否占用,使用kill -9 進(jìn)程id來殺死該進(jìn)程。
5.然后重新之前啟動(dòng)jenkins命令:java -jar jenkins.war -ajp13Port=-1 -httpPort=8081
6. 訪問jenkins使用123456密碼進(jìn)行登錄。
7. 成功
2、 安裝ssh插件出現(xiàn)問題
選擇Manage Plugins ,可選插件,
下載ssh的時(shí)候出現(xiàn)以下錯(cuò)誤
出現(xiàn)失敗的原因是要先安裝下面的插件,然后再安裝就不會(huì)出錯(cuò)了。
3、構(gòu)建項(xiàng)目出現(xiàn)如下錯(cuò)誤:
在項(xiàng)目的pom.xml文件修改build為下面代碼:記得得上傳到gitee,或者直接在之前上傳到gitee的項(xiàng)目那里修改pom
<build> <defaultGoal>compile</defaultGoal> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build>
4、點(diǎn)擊立即構(gòu)建之后出現(xiàn)黃色,錯(cuò)誤如下:
這個(gè)問題是找不到strat.sh的在哪里,仔細(xì)看看配置那里的構(gòu)建后操作,一定要在根目錄下創(chuàng)建shart.sh文件,而且這里配置路徑的時(shí)候,要加上/root/不能直接www,否則就出現(xiàn)上面的錯(cuò)誤。
5、如果編譯成功,但是沒有jar文件出現(xiàn)在服務(wù)器指定位置,查看out.log內(nèi)容發(fā)現(xiàn)
然后試著修改指定jar位置的路徑
修改前:
修改后:
jar是放在root目錄下的www下,但是這里配置的時(shí)候不需要加上root,只有start.sh就必須要加上root,否則出錯(cuò)
成功解決問題
查看端口也運(yùn)行了
查看瀏覽器也好了
maven -v
回車;查看服務(wù)器是否安裝maven
java -version
;查看服務(wù)器是否有jdk環(huán)境
mkdir maven
;創(chuàng)建文件夾
tar -zxvf
文件名;解壓縮文件夾
whereis java
;查看jdk安裝目錄
lsof -i:8080
;查看端口8080是否被占用
kill -9 PID
;殺死正在運(yùn)行的進(jìn)程
java jar jenkins.war --ajp13Port=-2 --httpPost=8080 &
;啟動(dòng)jenkins程序
chmod -R 777 start.sh
;給文件授權(quán),777可讀可寫
pwd
;顯示當(dāng)前目錄
vim
文件;打開文件,i
:編輯;esc
:退出編輯;:wq!
:保存退出
感謝各位的閱讀!關(guān)于“Jenkins如何自動(dòng)部署SpringBoot項(xiàng)目”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。