Jenkins搭建
一、目标
远程自动持续集成(项目部署)
二、准备工作
1、tomcat(Linux服务器--JDK安装与配置不说了)
2、Jenkins(部署在linux服务器与tomcat服务器可通信)
3、SVN(与前者可以通信)
4、Maven
4、理清原理、各组件之间的关系(暂时会用,有点问题还需要弄清楚。如,项目打包的过程是在SVN宿主机器,还是maven宿主机器;SVN宿主机器是否必须安装MAVEN)
三、需要用到的工具和知识
1、SVN
2、SSH
3、tomcat
4、linux常用命令、基础shell脚本知识
5、Maven安装与环境变量配置
6、JDK安装与环境变量配置
四、搭建步骤
1、搭建应用服务器(Tomcat)及JDK安装与环境变量配置
1)官方下载Apache-tomcat-7.x.tar.gz包,Copy到linux下tar -zvxf 解压
2)默认tomcat使用8080端口,如果有多个或者需要修改端口;vi server.xml修改三处端口
3)安装JDK官方下载jdk-xxx.tar.gz包,配置环境变量:vi /etc/profile在文件最后添加如下:
#JDK export JAVA_HOME=/usr/local/java/jdk1.8.0_77 export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH #MAVEN export MAVEN_HOME=/usr/local/apache-maven-3.3.9 export PATH=$MAVEN_HOME/bin:$PATH
增加后,source /etc/profile重新加载一次,使配置生效。特别注意Linux环境下,环境变量之间的分隔使用是的冒号“:”与windows环境下的分号“;”不同。
2、搭建SVN Server
1)官方下载安装包:Visual SVN Server包、TortoiseSVN Client包(推荐使用这个组合)
配置 Repositories、配置Users如下图:
2)准备好项目源码、SVN用户名和密码,SVN配置成功,如下图:
3、安装Maven配置环境变量(创建Maven项目)——前提安装好JDK
1)Windows下安装Maven(后续补充)
2)Linux下安装Maven:
官方下载apache-maven-3.3.9.tar.gz包,解压到相应目录
修改setting.xml的配置,仓库路径:/opt/repository如下图:
配置MAVEN环境变量,修改/etc/profile增加:
配置完成后,使用mvn -v命令查看,是否安装成功;如果打印java & maven版本,成功
4、安装Jenkins
1)官方下载Jenkins安装包,种类齐全:windows_install、Linux_tar包;可种版本可选
2)尝试过N多个版本,从最新的2.X版本到1.4版本,启动报错者多(暂时未找到原因)现在选用 1.651版本(可用)
3)本次下载jenkins1.651.war包,放入Tomcat的webapp目录下,启动(暂时不做数据库和管理权限控制,后续有时间补上)
4)启动,访问成功。如下 图:
5、配置Jenkins(关键步骤)
1)系统配置
系统配置关键在于:JDK配置、MAVEN配置、Publisher Over SSH、CVS(未知)
第一步:安装Publisher Over SSH的插件
第二步:配置JDK
第三步:配置MAVEN
第四步:PublisherOverSSH关键用来与Tomcat所在的服务器通信(登陆等所有操作)
2)Job配置(Job配置基于Jenkins的系统配置项)
第一步:新建一个job,名字自己取
第二步:配置SVN路径:源码项目根目录,如https://192.168.1.105/svn/TestJenkins/JRL-WX
填入路径后,Jenkins自动检测;发现SVN需要鉴权,根据提示进行填写用户名和密码。
第三步:设置build选项
这个地方的知识是拿来用的,自己需要补充学习
第四步:设置编译后需要做的事(关键)
这里可以对接到多个Tomcat(Linux)下;其中G:\TestJenkins\JRL-WX\wx-web\target\wx-web.war
另外,Remove Prefix 是指:需要移除的前缀,因为最终我们只需要wx-web.war这个文件,其他的我们不需要,则移除它:wx-web\target\
6、运行
1)前期大量的配置,就是为了运行起来;Come On! go ~~~
2)立即构建,查看 Console打印日志,Success
五、遇到的问题
1、因为自己电脑+虚拟机(ubuntu)的方式搭建,其中自己电脑有安装Maven+SVN;ubuntu安装了Maven+jenkins+tomcat;配置jenkins时,Maven、jdk都配置Linux上的路径。(需要弄清楚)
2、Jenkins自身的版本问题,V2.x版本的War包,放到Tomcat下启动报错一大片,现在使用1.651版本,成功。
3、SSH鉴权原理不清楚,使用密钥的方式进行远程访问未成功;现在使用用户名密码的方式进行访问。
4、Maven项目编译命令不懂
六、附录
1、Maven项目管理相关知识
2、Shell脚本相关知识
3、详细说明带个持续集成的过程