一、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登錄頁面。
進入登錄頁面後,Jenkins提示我們需要輸入超級管理員密碼進行解鎖。根據提示,我們可以在/var/lib/jenkins/secrets/initialAdminPassword文件裏找到密碼。
輸入命令以找到密碼。
tail /var/lib/jenkins/secrets/initialAdminPassword
找到密碼後,複製密碼,粘貼到Jenkins解鎖頁面,點擊Continue繼續初始化配置。短暫的等待後,進入插件安裝頁面。
這裏我們點擊的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
全局工具配置
遠程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終端,導致無法正常啓動。