轉 jenkins-整合git ssh maven spring-boot實現一鍵部署啟動
安裝好jenkins java maven git ssh
點選“系統管理”配置一下工具
配置jdk
配置git
配置maven
當然也可以自動安裝,點選apply並儲存
點選系統設定
配置一下發郵件的地址,構建失敗後能郵件通知
ctrl+f找到郵件通知,配置發件,我是用的QQ郵箱
這個地方的發件箱需要和剛才Jenkins Location配置的“系統管理員郵件地址”一致(試了好久一直失敗╮(╯▽╰)╭,最後在晚上找到原因,就是這個)
配置完後勾選“通過傳送測試郵件測試配置”測試是否配置好
輸入一個收件郵箱,點選“Test Configuration”,出現“Email was successfully send”,表示配置成功!
安裝外掛publish over SSH,這個工具能將打包好的檔案傳送到linux,也能夠執行指令碼,後邊會用到
點選系統設定,ctrl+f找到Publish over SSH,配置
Passphrase:這個是ssh keygen生成時的密碼
Path to key:私鑰地址
Name:隨便寫
Hostname:遠端主機地址
Username:登入名
Remote Directory:遠端地址
點選高階還能設定超時時間,代理等等
配置好後點擊“Test Configuration”測試連線,失敗的話可能是沒有將共要新增到遠端主機的authorized_keys檔案,解決辦法可以參考
單向登陸的操作過程(能滿足上邊的目的):
1、登入A機器
2、ssh-keygen -t [rsa|dsa],將會生成金鑰檔案和私鑰檔案 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、將 .pub 檔案複製到B機器的 .ssh 目錄, 並 cat id_dsa.pub >> ~/.ssh/authorized_keys
4、大功告成,從A機器登入B機器的目標賬戶,不再需要密碼了;(直接執行 #ssh 192.168.20.60 )
重新點選測試,出現提示“success”,配置成功!
至此,基本的環境配置完成!
現在開始專案配置
新建一個maven專案
輸入名稱,選中maven,點選ok
因為已經建了一個,所以提示重名╮(╯▽╰)╭
開始專案配置
首先新增一點描述資訊~
勾選一下“丟棄舊的構建”,可以節省點磁碟空間
勾選“引數化構建過程”,新增一個版本號!
勾選“在必要的時候併發構建”,這樣就不會排隊了
在“原始碼管理”中選中git並配置
在“構建設定”中勾選“E-mail Notification”這樣構建失敗了就會發用件通知你了^_^
在“構建後操作”中點選“增加構建後操作步驟”,選中“Send build artifacts over SSH”
配置“Send build artifacts over SSH”
Name:這個是從剛才在“系統設定”裡配置的“Publish over SSH”中選擇的
Source files:當前構建下你要傳送的檔案
Remove prefix:需要移除的字首
Remote directory:傳送的遠端路徑(會在剛才“系統設定”中配置的“Remote directory”後追加)
Exec command:傳送完成後執行的命令或者指令碼(這裡的shell指令碼能夠啟動專案,實現一鍵啟動^_^)
這裡貼出指令碼(由於不懂shell指令碼,所以只能將就著用o(╯□╰)o)
#!/bin/bash
FOLDER="/root/server/bak/"
FILE="/root/server/qbmmj.jar"
FOLDERTEST="/root/server/bak/qbmmj/"
#time
PREFIX="time="
TIME=`date +%F`
TIMES=`date +%T`
KONGGE="--"
VER="1.5"
#關掉上次啟動的專案
ID=`netstat -nlp | grep -w 8094 | sed -r 's#.* (.*)/.*#\1#'`
#echo "port is :$ID"
kill -9 $ID
#備份
if [ ! -d "$FOLDER" ]
then
mkdir /root/server/bak
fi
if [ ! -d "$FOLDERTEST" ]
then
mkdir /root/server/bak/qbmmj
fi
if [ -f "$FILE" ]
then
cp /root/server/qbmmj.jar /root/server/bak/qbmmj/qbmmj$VER$PREFIX$TIME$KONGGE$TIMES.jar
rm -f /root/server/qbmmj.jar
fi
mv /root/server/qbmmj-v1.0.jar /root/server/qbmmj.jar
#nohup /usr/java/jdk1.8.0_131/bin/java -jar /root/qbmmj/test-0.0.1-SNAPSHOT.jar &
#啟動
/usr/local/jdk/bin/java -jar /root/server/qbmmj.jar
#echo "start success!"
exit 0
點選高階還可以設定超時時間等
注:
這個地方執行的時候有可能會卡在控制檯導致構建無法完成,我的解決辦法是通過daemon來啟動,將日誌輸出到檔案
daemon的安裝闊以參考http://blog.csdn.net/qbmmj/article/details/72152479
點選“apply”並儲存
到此為止,配置完成!
點選“ Build with Parameters”,點選“開始構建”
左側可以檢視正在進行的構建
點進去後能夠檢視詳情,點選“Console Output”能檢視控制檯列印資訊
出現“Finished:SUCCESS”,構建成功~^_^
首頁我的檢視中也能檢視構件狀態