Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.
点击肯定后进入了该项目的配置页面,先总览全部的配置项,共有六项:General,源码管理,构建触发器,构建环境,构建,构建后操做.从字面意思上不难理解。html
接下来分别较少这几项配置,以及用到的插件,已完成CI/CD的目标。git
上边这些作完后其实基本上已经能够了,之因此修改Advanced clone behaiours,是防止第一次构建时拉取源码超时,默认超时时间为10minutes,屡次构建失败后,我把此处修改成了20minutes,若是依旧超时,可延长此处时间,或检查网络(点击Additional Behaviours旁边的add,选择Advanced clone behaiours)github
图中为每六小时检测一次web
web hook触发主要介绍gitlab hook插件,接下来咱们先保存已经完成的配置,回到首页,下载所需插件。shell
可选插件中搜索gitlab,勾选列表中的GitLab Plugin和Gitlab Hook Plugin, 选择直接安装。待安装完成后回到首页,点击右边刚刚咱们建立的任务,而后点击配置回到咱们以前的配置页面。tomcat
此时发现构建触发器中多了个选项:Build when a change is pushed to GitLab. GitLab CI Service URL: http://172.16.192.142:9081/jenkins/project/test
,若是仍然没有,尝试重启Jenkins以后查看。安全
图中红框上边为Gitlab Web Hook处须要添加的URL,若Jenkins设置了不容许匿名用户执行构建操做,则须要在Gitlab安全令牌处添加第二个红圈处的Secret token。bash
**/*.war
的形式本文中Containers我选择了Tomcat 7.x,Credentials须要在tomcat里配置上,Tomcat URL即环境的基础地址服务器
<role rolename="manager-script"/> <user username="caozeal" password="******" roles="manager-script"/>

<Context antiJARLocking="true" antiResourceLocking="true">
须要注意的是执行脚本的时候有个坑,读取不到系统的环境变量,缘由是此处执行脚本的方式为non-interactive + non-login shell,不会读取/etc/profile中的配置,此处的解决方案是采用bash执行命令,因为bash恒执行BASH_ENV中的变量,所以须要把/etc/profie赋值到BASH_ENV中,详细解决思路参考连接网络
遗留问题:
Jenkins构建的时候控制台乱码