公司项目用到Jenkins,使用Jenkins后发现他的优点,尝试了下在自己本地搭建一个Jenkins,和大家分享下。
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
本文中使用的软硬件环境:jdk1.8 + svn + maven + win7(centos7)本地win7,虚拟机centos7。
下面开始搭建:
一:jenkins下载
jenkins官网:https://jenkins.io/index.html
选择适合自己操作系统的本地,博主这用到是win7,下载的window版本。解压得到jenkins.msi,安装即可,得到一个如下的文件夹。
小伙伴们很明显看到了这个jenkins.war,当然你可以把他丢到容器里面去运行,也可以直接运行java -jar jenkins.war 默认的端口是8080(可以在jenkins.xml中看到),当然如果你想运行在其他端口可以使用命令: java -jar jenkins.war --httpPort=8084,OK!当你看下下面的提示的时候,说明你成功了!
这个时候你就可以访问你的Jenkins了,http://localhost:8084/ 看到首页证明安装算是完成了。
二:部署你的maven项目
在部署你的项目之前你需要jdk,maven的信息告知Jenkins。
1.点击系统管理->Global Tool Configuration:
jdk:
jdk的JAVA_HOME必须和你环境变量里的jdk保持一致。
maven:
点击save,回到首页。
2.点击创建一个任务或者新建。
构建一个自由风格的软件项目。
在general里面更具自己想需要勾选,博主这就改了下工作空间。
源码管理里面,博主用的svn,那当然选择的是subversion。
填写Repository URL及Credentials,及svn的地址及用户信息。本章就不在累述怎么搭建svn服务器了。
接下来就是构建了。
maven version : 选之前录入的maven,pom选pom文件所在的相对位置(此处是相对svn目录的位置)。
点击save后,点击立即构建,就可以构建了,可以在你的工作空间中发现你想要的东西了(war包),前提是你的项目没有问题!
相信很多小伙伴和博主一样会出现下面的问题:
这个问题只需要修改你的pom.xml即可。
加入<defaultGoal>install</defaultGoal>
保存提交,在构建一次就OK了。
当然我们的目标不会局限于此,我们要的是点构建后他自己就发布到容器了对吧。
3.自动部署
自动部署需要一个容器,那Jenkins是怎么知道你的容器的呢?容器插件这个时候就要出场了!
首页-》系统管理-》管理插件
搜索deploy,很快就会找到这个deploy to container plugin,这里博主已经安装好了,就不在安装了,
记住安装完记得重启!
接着选你的项目-》配置
构建后操作
有如图所示的,证明你的插件安装好了,点击进入。
WAR/EAR files:是相对于你的工作空间的
Context path:是你再容器的目录,如果是tomcat,那么他回事在webapps下,如果你不想要项目名称的话选"\",填写"ROOT"是不可以的。
Containers:容器博主用的tomcat7。当然你要有manager用户信息。在tomcat目录下的conf目录,tomcat-users.xml修改如下:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status" username="tomcat"/>
保存文件。同时保存Jenkins。
先启动你的tomcat,再次点击立即构建
如上,证明你成功了!现在访问你的工程看看吧!
OK! Jenkins自动部署发布完成!希望对你有点帮助。