Jenkins+maven+svn+tomcat自动编译部署
一、Jenkins的搭建(Windows8系统):
前提条件:
JDK已安装,JDK环境变量配置好
SVN已安装
tomcat的搭建可参考:
1、下载jenkins的war包:http://mirrors.jenkins-ci.org/war/latest/jenkins.war (下载的时候注意下载的版本)
2、将jenkins.war包放至节点webapps目录下
3、启动tomcat(双击在tomcat的bin目录下的startup.bat)
2.在浏览器输入:http://localhost:8080/jenkins ,jenkins安装成功
具体的配置将针对不同的job和需要在后面的blog进行讲解
二、maven的搭建
下载Maven:官方下载地址:http://maven.apache.org/download.html
解压maven到软件安装:如: D:\Soft\apache-maven-3.2.2
打开系统环境变量对话框:
右键“我的电脑” -> "属性" -在打开的属性面板里选择“高级系统设置”-在打开的高级系统设置对话框中选择“高级”标签 -> “环境变量
添加maven环境变量:
添加新的系统环境变量MAVEN_HOME, 并设置其值为你安装的目录
MAVEN_HOME= D:\Soft\apache-maven-3.2.2
编辑系统PATH 变量, 添加;%MAVEN_HOME%\bin;到尾部
测试maven配置是否成功打开命令行窗口,输入mvn -v,如果有maven 版本信息输出则证明配置成功,否则请查看自己配置路径等是否正确。
注意:安装maven前请确保已安装JDK并成功配置其环境变量。
三、Jenkins自动编译部署的配置
在浏览器输入:http://localhost:8080/jenkins,打开Jenkins,按照下面的步骤开始操作:
系统配置:Jenkins首页-系统管理-系统配置
配置Java_home,配置maven_home,选择SVN的版本(版本比你自己SVN版本低点也无所谓)
job的配置
1:点击 左上角的"新建" ,job名称随便填写,选择构建一个maven项目,其他默认
2、点击保存 跳转到maven项目配置界面
3、配置源码管理
选择Subversion 配置 Repository URL(如http://192.168.1.11/trunk/web) 配置你svn里面的项目
然后会提示你配置检出项目的用户与密码. 其选项默认,可以直接配置具有权限的SVN账号和密码
备注:配置到这里,你就可以保存配置项了,这个时候你就可以回到job页面,点击立即构建,就可以构建war包了
war包存放的的目录一般在c:/用户/.jenkins/workspace/job名称/target/项目名称
4、构建-添加Execute Windows batch command,
输入如下内容:(这里是进入脚本所在目录)
F:
cd F:\source
auto_deploy.bat
auto_deploy.bat(这里我们的项目名称就称为:WB)
auto_deploy.bat脚本的内容为:
echo 备份应用(备份是部署人员最起码的东西的)
if exist C:\backups\WB rd C:\backups\WB /q /s
xcopy C:\tomcat\webapps\WB\*.* C:\backups\WB\ /y /s /e /i
echo 新建一个C:\source文件夹,C:\Users\J\.jenkins\workspace\test\WB\target\WB-1.0.1-Snapshot.war 复制到C:\source文件夹,并修改war包的名字
cd C:\source
if exist C:\source\WB.war del C:\source\WB.war /q
copy C:\Users\J\.jenkins\workspace\test\WB\target\WB-1.0.1-Snapshot.war C:\source\WB.war
if not exist WB md WB
cd C:\source\WB
echo 解压开始
jar -xvf C:\source\WB.war
echo 复制C:\source\WB\目录下的内容到C:\Tomcat-7.0.59\webapps\WB\目录下
xcopy C:\source\Website\*.* C:\tomcat\webapps\WB\ /y /s /e /i
配置到这里,你就可以保存配置项了,这个时候你就可以回到job页面,点击立即构建,就可以实现自动部署
若有的批处理命令不理解,建议先熟悉一下,编写适合自己项目的脚本
注意:这里结合Jenkins是没有使用deploy plugin插件的哦,用脚本实现更灵活的哦