先简单记录一下,后面再慢慢完善。

1、环境

jdk 1.7.0_45

maven 3.1.1

jenkins 2.3.21

jdk和maven的安装就不必多说了,主要是jenkins的安装需要说下,jenkins有war包和yum还有rpm等安装方式,我认为还是下载安装rpm比较简单点。我是去了官网找了支持jdk1.7的版本下载的,主要是服务器本来就装有1.7的jdk,就不想换了。然后就是普通的安装,安装完毕后进行配置工作。

2、jenkins配置

jenkins安装的详细步骤在网上有很多的教程,容易找到,就不多写。主要是有一点需要明确的是,需要安装svn、maven和ssh的相关插件,如果少了就无法使用这些东西了。

如下图所示,进入Global Tool Configuration,配置jdk和maven的路径。

jenkins maven ssh jenkins maven ssh增量_war包

在系统设置中配置ssh服务器的ip和账号密码,如果需要密码登录的服务器需要勾选use password。需要注意的是这个Remote Directory是登录后进入的目录,如果不填写默认的是用户目录,这里我们要改成/(根目录),会对后面在传输war包到别的服务器的时候的路径有影响。填写完毕后点击test测试通过就行了。

jenkins maven ssh jenkins maven ssh增量_svn_02

配置完服务器后,我们可以新建任务了。点击新建,出来这个页面。给部署任务取个名字(推荐使用英文名,因为jenkins会把任务名来建立目录,如果是中午可能会有乱码),然后选择maven项目。这里需要提的是maven项目所依赖的仓库最好上传到jenkins服务器的某个文件夹中,方便使用。

jenkins maven ssh jenkins maven ssh增量_服务器_03

在创建了maven项目后,我们还需要配置svn地址,如下图所示。只要填写好svn的地址,添加用户名密码就可以了。

jenkins maven ssh jenkins maven ssh增量_服务器_04

下面这个构建触发器一般选择Poll SCM,其他的我暂时没有研究有啥用,基本上定时部署用Poll SCM就可以了。这个定时有规则的,规则还需要一点时间理解,就先使用 H/10 * * * * 来吧,这个代表每10分钟检查svn,如果有更新就构建。这里的规则jenkins有详细的说明,不过是英文的。。

jenkins maven ssh jenkins maven ssh增量_war包_05

然后是build命令,这里pom.xml是svn下载下来的工程路径里面pom.xml的路径,如果你svn设置的目录里pom文件不是在根目录,这里你就要修改下文件的位置了,要写上相对路径。下面的命令是mvn命令,我这里是清理,打包,然后指定仓库,跳过测试。关于用mvn package命令打包,也碰到坑,因为之前用的是war:war打包的,那种打包方式需要依赖eclipse的编译,如果没有编译打出来的war包是没有class的。而且需要将资源文件夹resource在pom文件里面引入,总之费了一些功夫才打包成功。

打包成功后会在workspace文件下新建svn下载好的工程和target目录,war包就在target目录底下。

jenkins maven ssh jenkins maven ssh增量_war包_06

构建后操作选择send build artifact over ssh,然后选择刚才在配置里面配置好的服务器。这里source files是jenkins在本次任务workspace文件下的文件,故一般都填写target/.war,下面的remove prefix是去除前缀,如果不去掉传到别的服务器的时候就会带着这个target目录,这里一般填写target。remote directory这里填写的是你希望把这个war包传到另一个服务器的哪个文件夹里面,之前在配置里面写的remote directory和这个是拼接起来的,如果之前的没有配置好,最后传过去的位置以root用户为例,就是/root//.war。最后一栏是传输完毕后,需要运行什么sell文件,这里一般的格式是 //*/.sh 。这个shell只要事先写好放在固定的目录下等着jenkins传完运行就是了,一般写的都是启动tomcat,部署war包等操作。

jenkins maven ssh jenkins maven ssh增量_服务器_07

弄好这些配置,就直接运行就可以了。等有时间再补充上利用filter过滤项目的配置文件,做到部署到测试服务器和正式服务器上的jdbc可以动态配置。