一、环境
首先盗用网上的一张图
二、环境搭建
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 、maven、git等信息
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,在下面添加如下内容:
访问tomcat url:http://192.168.1.106:8080/ 点击manager webapp提示登录 输入autoDepolyer/yggc0302
如果返回403我们打开/webapps/manager/META-INF/目录下context.xml文件,不是conf/目录下的context.xml文件,一定不要搞错了
我们将里面的内容注释掉或者修改为
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" /> 我们将里面的内容注释掉或者修改为 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,测试连通性,返回200就ok了 如果返回403如下解决方案: gitlab web hook 测试403解决方案 1.安装插件 gitlab、gitlab hook 2.系统管理-->config global security --> 去掉 防止跨站点请求伪造(可能) 3.系统管理-->系统设置-->去掉 Enable authentication for '/project' end-point 到此,jenkins自动打包,上传就配置完成了,接下来我们验证一下,我提交代码到gitlab一下,控制台输出如下, 我们到测试服务器的webapps下验证如下,jar包已经传到tomcat下