Jenkins真的是比較強大,最近需要做部署的自動化,所以就用Jenkins去做,覺得真的挺不錯~
1、安裝Jenkins,這個安裝不多說
2、構建自由風格的job
3、進行job的配置:
3.1、如果需要設置參數,就設置參數,上一篇svn增量打包說過參數化的過程,這里不多說
3.2、因為代碼是從SVN上面拉取,所以源碼管理選擇Subversion,寫入需要打包svn的url,以及賬號密碼,賬號密碼通過點擊add來設置成密鑰
說一下設置密鑰吧,看下圖:


輸入完賬號密碼,點擊add按鈕就可以了
3.3、在構建步驟選擇Invoke top-level Maven targets(如果沒有這個就到管理插件里面搜索安裝),並在Goals處輸入構建命令

如果要做一些打包備份的可以像我一樣加一個批處理的步驟,保存打包備份就好
set name=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% set name=%name: =0%
::備份到E盤 if not exist E:\DeploySource mkdir E:\DeploySource
::下面這個命令是為了取所拉取代碼的svn版本號,最后放到備份的jar名稱里面 svn log -r HEAD:1 http://IP/<路徑> >E:\DeploySource\log.txt for /f "delims=" %%i in (%sourcedisk%:\DeploySource\log.txt) do ( for /f "tokens=1,2,3,4 delims=|" %%a in ("%%i") do (set a1=%%a && echo %%a|find "r">nul && goto next ) ) :next for /f "tokens=1,2 delims=r" %%a in ("%a1%") do (set a1=%%a) set "a1=%a1: =%" copy "%WORKSPACE%"\target\AAA.jar E:\DeploySource\AAA_%a1%_%name%.jar"
3.4、下面構建后步驟選擇Send build artifacts over SSH(如果沒有這個就到管理插件里面搜索安裝),意思是通過SSH發送構建的包


112-Deploy在系統管理-》系統設置里面找到Publish over SSH,添加SSH Server

下面輸入發送包路徑和所要存放的服務路徑,以及重啟命令

重啟的shell文件restart.sh的代碼:
#!/bin/sh cd /scss/AAA ps aux | grep java | grep AAA.jar |grep -v grep | awk '{print $2}'| xargs kill -9 /usr/java/jdk1.8.0_45/bin/java -jar /scss/AAA/AAA.jar &
JAva的版本是服務器上安裝的java的版本
最后保存就ok了
