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:DeploySourcelog.txt for /f "delims=" %%i in (%sourcedisk%:DeploySourcelog.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%" argetAAA.jar E:DeploySourceAAA_%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了