Jenkins+maven+gitlab+tomcat自动化编译部署(windows7版)

一、环境

首先盗用网上的一张图

二、环境搭建

1、gitlab安装

网上博客把地址粘出来:http://www.cnblogs.com/lidong94/p/7161717.html

2、jenkins安装

1)安装jdk,建议使用1.8以上的版本,安装好jdk之后配置环境变量

JAVA_HOME=“你安装jdk的目录”

Path=$path;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(2)安装jenkins

可以下载war包,直接 在命令行 java -jar jenkins.war(这种方式需要jdk版本匹配)

也可以安装版,上jenkins官网,下载windows版(x86和64位根据自己的机器选择正确的)

jenkins.msi

三、jenkins配置

安装成功后,启动http://localhost:8080

初始的管理员密码,jenkins自动生成的,根据上面红色的路径找到密码,拷到下面的输入框中。

选择默认安装插件

 

创建用户

 

进入jenkins的主页 

 

接下来配置jenkins全局变量(jdk,git,maven,tomcat等等)

"系统管理"---->"Global Tool Configuration" 配置 jdk 、mavengit等信息

jdk配置别名随便写,java_home就是jdk的家目录,不知道的话可以使用java -version

 

Git安装

 如果没有安装git,请安装,安装步骤(windows版)网址:https://www.cnblogs.com/wj-1314/p/7993819.html

 

Maven安装

如果maven没有安装,到maven官网下载,直接解压就好了,然后设置环境变量(同java环境变量设置)

 

以上这些配置全都在global tool configuration里边,配置完点击保存

四、Jenkins安装插件

需要安装的插件

Gitlab、gitlabHook、Deploy to container、maven

 

安装完成后选择红色箭头指向复选框

五、新建job

接下来我们新建一个job,因为只有先建了job才能和gitlab连通,如下图,这里填写一个名字如test,选择构建一个自由风格的软件项目,点击

点击完之后如下图,描述这块记得写上,

然后点击源码管理如下图,我们选择git,repository url  写gitlab仓库的地址,credentials是指信任,需要填写你登录gitlab的用户名/密码

点击触发器选项卡之后如下图,我们点击Build when a change is pushed to GitLab. GitLab CI Service URL: http://192.168.4.117:8080/project/test,记住这个url地址,待会我们需要在gitlab上配置  ,然后点击构建选项卡   构建环境暂不配置,

点击构建选项卡之后如下图:maven version处选择我们在global tool configuration处配置的maven名称  goals处填写maven命令,因为我们要打包,所以填写clean package,不懂的可以去学一下maven命令,pom选择pom.xml的相对于你创建的job的相对路径(我们是jenkins家目录\workspace\test\)

然后点击构建后操作选项卡

点击构建后选项卡之后如下图,

首先编辑tomcat服务器 tomcat_users.xml,在下面添加如下内容:

 <role rolename="tomcat"/>

 <user username="autoDeployer" password="yggc0302" roles="tomcat,manager-gui,manager-script,manager-status"/>

访问tomcat urlhttp://192.168.1.106:8080/  点击manager webapp提示登录 输入autoDepolyer/yggc0302

如果返回403我们打开/webapps/manager/META-INF/目录下context.xml文件,不是conf/目录下的context.xml文件,一定不要搞错了

我们将里面的内容注释掉或者修改

 

<Valve className="org.apache.catalina.valves.RemoteAddrValve"

 

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />

我们将里面的内容注释掉或者修改

<Valve className="org.apache.catalina.valves.RemoteAddrValve"

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />

保存,然后重启tomcat,重新访问manager app页面,OK,问题得到解决。

 然后点击保存就可以了这样我们就建完了一个job,有的人可能会想起来还没配置gitlab,good,还记得建job的时候要记住的那个url地址吗,接下来我们需要在gitlab中找到web hooks这个选项,不同的gitlab   web hooks在不同的地方  ,我的是在下图点击右上角红色部分

点击integrations后如下图,需要把jenkins的url:http://x.x.x.x:8080/project/test填到此处,然后点击添加web hooks,这个web hooks的作用就是jenkins检测到gitlab有代码提交就会触发jenkins进行构建

添加后点击test,测试连通性,返回200ok

 

 

如果返回403如下解决方案:

gitlab web hook 测试403解决方案

1.安装插件 gitlabgitlab hook

2.系统管理-->config global security --> 去掉 防止跨站点请求伪造(可能)

3.系统管理-->系统设置-->去掉 Enable authentication for '/project' end-point

 

到此,jenkins自动打包,上传就配置完成了,接下来我们验证一下,我提交代码到gitlab一下,控制台输出如下,

我们到测试服务器的webapps下验证如下,jar包已经传到tomcat下

 

猜你喜欢

转载自www.cnblogs.com/wangyi429111/p/9486163.html