實現Jenkins+SVN+Maven+Shell命令構建自動化打jar包並部署


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了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM