Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署

文章转自:http://blog.csdn.net/a286352250/article/details/52794853


分布式项目管理,提高开发效率,使用Jenkins。


配置环境:

Jenkins(LTS Release2.7.4.war)

Centos7

GitHub

Maven

Tomcat9

JDK8


去官网(https://jenkins.io/index.html)下载最新的Jenkins包  。


【两种部署方式】

1. 使用内置jetty

[html] view plain copy
  1. java -jar jenkins.war –httpPort=8002  

2. 部署到Tomcat,略。

笔者使用Tomcat部署,为了方便做Tomcat服务化,Linux开机启动。


两者功能上没有差异,第一种方便学习,第二种推荐生产环境。


【安装初始化】

启动后,输入网址:localhost:8002

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署


需要初始化密码,centos路径跟当前用户有关。

tomcat使用root启动为:/root/.jenkins/secrets

开机启动为:/home/[用户名]/.jenkins/secrets

打开initialAdminPassword 复制初始化密码粘贴到密码栏点击continue。



选择插件

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署

笔者偷懒选择Select plugins to install全选插件,这个页面插件比较直观。部分插件被墙,可以用v*n。

后期再系统设置,也可以添加插件,插件太多稍微吃力一些。


安装完插件,随后初始化用户。

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署



当看到此页面,已经安装成功,开始您的Jenkins折腾之旅。




Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署

【配置项目】

登录后先不急着创建项目,先配置插件 及 环境变量


需要插件如下:

Maven Project Plugin(Maven 插件)
GIT plugin (git插件)
Subversion Plugin(Svn插件)
Deploy to container Plugin(部署war)
Email Extension Plugin (邮件通知)
Publish Over SSH (远程Shell)


没有安装小伙伴,先在【系统管理】-【管理插件】,添加。

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署



如果插件下载失败,自行到官网上下载。

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署



安装插件后,配置各插件的环境变量。

包括:JDK、Maven、Git

笔者为了与开发环境尽量保持一致,JDK、Maven没有使用Jenkins推荐,使用自己下载,上传到Centos7上。


Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署


Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署



JDK环境配置:

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署



Git 没有兼容性等差异,偷懒使用了默认:

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署



Maven环境配置:

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署


保持配置。





【配置项目】

首页-新建

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署


Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署




【项目详细配置】



Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署


Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署


Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署


Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署



【常见问题】

Tomcat9 Manager管理页面相对Tomcat7 做了访问域限制。默认localhost、127.0.0.1才可以访问。

http://192.168.2.67:8080/manager/html


异常信息 403 ,提示缺少用户。异常消息十分不直观。(下图401不用理会,异常信息是一样)

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署


增加Tomcat用户,修改配置文件:/home/apache-tomcat-9.0.0.M6/conf/tomcat-users.xml

为了Jenkins发布工程,给了全部权限。

[html] view plain copy
  1. <role rolename="manager-gui"/>  
  2. <role rolename="manager-gui" />  
  3. <role rolename="manager-script" />  
  4. <role rolename="manager-status" />  
  5. <user username="tomcat" password="123456" roles="manager-gui,manager-gui,manager-script,manager-status"/>  


Tomcat9 Manager,跨域,局域网访问,修改配置文件:/home/apache-tomcat-9.0.0.M6/webapps/manager/META-INF/context.xml

[html] view plain copy
  1. <Context antiResourceLocking="false" privileged="true" >  
  2.   <Valve className="org.apache.catalina.valves.RemoteAddrValve"  
  3.          allow="192.168.2.*" />  
  4. </Context>  


以上就配置完,保存。



【尝试构建项目】

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署


第一次构建,点击控制台输出结果,观察,是否[Error],排错。

Jenkins Centos7 GitHub Maven Tomcat9 JDK8自动构建部署




以上就能实现:git pull -> maven install -> 部署Tomcat9