Jenkins环境搭建
GitLab是一个代码仓库,用来管理代码。Jenkins是一个自动化服务器,可以运行各种自动化构建、测试或部署任务。所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务,帮组开发团队更高效的集成和发布代码。
代码提交到Gitlab ------>触发Jenkins构建触发器------------>Jenkins执行构建任务
环境
Jenkins+Tomcat8+Gitlab+Maven+jdk1.8+Linux(CentOs6.9 64Bit)
一、软件安装
1.JDK安装
最新版本的Jenkins只支持JDK1.8,因此选择安装JDK1.8。
安装方式选择yum安装
也可以官网下载JDK1.8到本地安装
- 搜索JDK安装包
# yum search java|grep jdk
- 下载JDK1.8
# yum install java-1.8.0-openjdk
- 配置环境变量&验证安装
选择yum安装环境变量已自动配置
# java -version
显示JDK版本则安装成功
2.Git安装
Jenkins连接Gitlab需要git版本为1.7以上
- 查看系统Git版本
# git --version
如果版本低则卸载# yum remove git
- 重装
# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.7.3.tar.gz
# tar xzf git-2.7.3.tar.gz
# cd git-2.7.3
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
# cd /usr/bin
# ln -s /usr/local/git/bin/git git
- 检查Git版本
# git --version
- 配置SSH(可省)
3.Maven安装
- 选择yum安装
# sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo
-O /etc/yum.repos.d/epel-apache-maven.repo
# sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
# sudo yum install -y maven
- 检查Maven是否安装成功
# mvn -version
4.Tomcat安装
- 下载tomcat8安装包
apache-tomcat-8.5.38.tar.gz
- 新建文件夹jenkin,放入tomcat安装包,解压
# mkdir /home/jenkin
# rz
# tar -zxvf apache-tomcat-8.5.38.tar.gz
- 修改tomcat访问端口为9123
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />的8080改为9123
将<Connector port="8009" enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" />的8009改为其它的端口
将<Server port="8005" shutdown="SHUTDOWN" debug="0">的8005改为其它的端口
- 解除tomcat本机访问限制,不解除将无法远程部署到此tomcat
修改webapps/host-manager/META-INF/context.xml与webapps/manager/META-INF/context.xml俩个文件,注释掉如下内容
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
- 为tomcat添加远程访问账户
# vi /home/jenkin/apache-tomcat-8.5.38/conf/tomcat_users.xml
在<tomcat_users>标签内添加成员并赋予角色
<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="manager-status" />
<user username="deploy" password="tomcat" roles="manager-gui,manager-script,manager-status" />
5.Jenkins安装
- 下载Jenkins安装包
jenkins.war
- 部署到服务器tomcat上
# rz
# mv jenkins.war /home/jenkin/apache-tomcat-8.5.38/webapps
- 添加tomcat默认打开项目为Jenkins(可省略)
修改路径/jenkin/apache-tomcat-8.5.38/conf/server.xml下的server.xml文件在标签<host>间插入
<Context docBase="jenkins" path="" debug="0" reloadable="true" />
其中path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空,debug和reloadable一般就设
置成0和true就行了,在项目编写和测试阶段reloadable设置为true表示只要tomcat中的项目有改动tomcat就会自动重
新加载编译,可以带给我们一些方便,但是在项目发布阶段一般设为false,可以提高tomcat的性能。实际上要改动的
就是docBase这个量,它指定的是登录tomcat默认的主页所在的文件夹,这个量默认情况下指定的是ROOT文件夹,现在
改成jenkins文夹
二、环境搭建
0.Jenkins插件安装
Jenkins的功能由插件组成,需要什么功能先要安装插件
插件安装位置:仪表盘-----系统管理—插件管理,点击进入插件管理页面
过滤栏搜索所需插件,选择可选插件,安装以下插件:
- Git与gitlab 插件:集成gitlab,拉取代码到Jenkins工作区
- maven integration插件:新建maven项目,使用maven打包等功能
- Deploy to container 插件:打包好的项目发布到tomcat
- Gitlab Hook 插件:gitlab仓库代码发生变动(push)自动构建任务
1.Jenkins maven设置
服务器地址为http://192.168.10.56:9123
浏览器打开服务地址设置Jenkins初始登录账户,登录进入仪表盘。
系统设置----全局工具配置
新增Maven,设置Maven名,与MAVEN_HOME /home/maven/apache-maven-3.6.0
2.Jenkins JDK设置
同Maven设置JDK名,JDK_HOME:/usr/lib/jvm/java-1.8.0
3.Jenkins Gitlab设置
同Maven 设置Gitlab名与路径,应用保存
三、环境测试
测试项目:eggtart
Jenkins任务有多种,eggtart为maven工程,可以用项目中的pom.xml简化任务配置,因此新建一个Maven风格的任务。
进入任务构建配置页面
重点关注源码管理、构建触发器、构建、构建后操作
-
源码管理
填写仓库所在URL、初次使用点击add按钮添加仓库访问凭据,即登录gitlab的用户名与密码。拉取代码
配置过SSH的可以使用SSH拉取仓库代码 -
构建触发器
任务执行的时机- Build after other projects are built:当另一个构建任务完成之后触发
- Build periodically :周期性的触发
- Build when a change is pushed to GitLab. GitLab CI Service URL:
http://191.8.2.112:12000/project/test-go-dev
当代码有更新的时候触发,通过GitLab CI 当代码有变化触发构建时,系统设置Jenkins location地址如下,要带工程名,格式为Ip:端口/部署的Jenkins名称(默认jenkins)/ - GitHub hook trigger for GITScm polling:通过Github钩子触发
- Poll SC:定期检查代码有无更新,有更新时触发
本次构建选择默认触发器
-
构建
选择项目pom.xml配置文件
Goals and options:填写maven命令,clean:每次构建都会清除上一次发布的WAR包,package:打包项目 -
构建后操作
构建后即执行过package命令,将war包部署到服务器,点击添加构建后操作步骤,选择发布到容器,即deploy war to a container;使用这个功能需要安装Deploy to container插件
环境配置:
War包路径:**/完整包名称
Context path:项目访问根路径
点击add container添加tomcat容器:
添加连接tamcat的凭据,即配置tomcat时,tomcat-users.xml文件添加的账户,将此账户作为连接tomcat的凭据。
添加tomcat路径url:http://192.168.10.56:9123
点击保存,任务新建完成。
点击任务名称进入任务管理界面,点击立即构建,点击构建名称,进入构建管理页面,可以点击控制台输出查看构建过程。
构建成功浏览器输入项目地址http://192.168.10.56:9123/eggtart
访问成功。