linux安裝jenkins並遠程部署springboot項目

一、jenkins安裝

先安裝好jdk

yum安裝Jenkins:

yum install jenkins

隨後就可以看到系統開始自動下載安裝。出現提示是否下載的時候輸入y並按回車。耐心等待安裝完成。

現在Jenkins已經安裝好了,不過啓動之前最好稍微修改一下配置。默認情況是Jenkins是使用Jenkins用戶啓動的,但這個用戶目前系統並沒有賦予權限,這裏我們將啓動用戶修改爲root;另外Jenkins默認端口是8080,這個跟tomcat的默認端口衝突,我們也修改一下默認端口。

輸入命令進入Jenkins配置文件

vi /etc/sysconfig/jenkins

修改完配置後,保存退出。

好了,現在配置文件也修改好了,可以啓動Jenkins了。

輸入啓動命令以啓動Jenkins服務。

service jenkins start

 

在瀏覽器輸入ip:8088進入Jenkins登錄頁面。

201705250931198.png

進入登錄頁面後,Jenkins提示我們需要輸入超級管理員密碼進行解鎖。根據提示,我們可以在/var/lib/jenkins/secrets/initialAdminPassword文件裏找到密碼。

 

輸入命令以找到密碼。

tail /var/lib/jenkins/secrets/initialAdminPassword

找到密碼後,複製密碼,粘貼到Jenkins解鎖頁面,點擊Continue繼續初始化配置。短暫的等待後,進入插件安裝頁面。

2017052509312010.png

這裏我們點擊的Install suggested plugins,安裝默認插件,當然你也可以點擊另一個按鈕安裝指定的插件。

點擊後,頁面進入了插件下載安裝頁面。

耐心等待全部安裝完成。安裝完成後,頁面自動進入了管理員賬戶註冊頁面。自己輸入信息註冊吧,輸入完信息點擊Save and Finish。點擊Start using Jenkins,進入Jenkins主頁面。至此,Jenkins安裝並初始化完成了

二、安裝相關插件並設置全局配置

安裝Maven項目插件:Maven Integration plugin 。

 

 

       

 

         點擊“可選插件”  然後在右邊的過濾輸入框中輸入搜索關鍵字: Maven Integration Plugin  或者 Pipeline Maven Integration Plugin ,搜索到了以後,點擊直接安裝

安裝Publish Over SSH 插件

系統設置->插件管理->installed

jenkins使用Publish Over SSH插件實現遠程自動部署

 

全局工具配置

遠程SSH配置

 

 

創建jenkins發佈任務

 

 

 

 

 

 

 

 

restartweb.sh 命令如下:

#web_restart.sh
#!/bin/bash
source /etc/profile
echo "Restarting SpringBoot Application"
pid=`ps -ef | grep 'java -jar web.jar' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
   echo "shutdown web success"$pid
fi


cd /usr/local/apps/java/web/
path=`pwd`
echo "current path:"$path
echo "grant permission"
chmod 777 web.jar
echo "start web"
BUILD_ID=DONTKILLME
nohup java -jar web.jar &
echo "start web end"

 

 

jenkins 解決服務器遠程啓動jar方法無響應的方法

 

一開始看網上有人說在調用的地方用BUILD_ID=dontKillMe,接着又有人說用daemonize守護線程,還有人說改變BUILD_ID值,也有人說在腳本開始前加上JAVA_OPTS="$JAVA_OPTS -Dhudson.util.ProcessTree.disable=true",更有甚者還乾脆來了個合集,一個方法都用不了,簡直崩潰(網上的大神都是複製粘貼高手

#web_restart.sh
#!/bin/bash
source /etc/profile
echo "Restarting SpringBoot Application"
pid=`ps -ef | grep 'java -jar web.jar' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
   echo "shutdown web success"$pid
fi


cd /usr/local/apps/java/web/
path=`pwd`
echo "current path:"$path
echo "grant permission"
chmod 777 web.jar
echo "start web"
BUILD_ID=DONTKILLME
nohup java -jar web.jar &
echo "start web end"

沒錯,就是他,在腳本最前面加上source /etc/profile,完美一切運行正常!!!!!!!!

原來在一臺服務器遠程鏈接另一臺服務器的時候,即便是存在BUILD_ID=dontKillMe,必須使用source /etc/profile,使其在B終端內有效,不然默認還是A終端,導致無法正常啓動。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章