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