細細.魚 发表于 2018-9-4 08:32:44

Jenkins+maven+svn+tomcat(1)

  案例:最近打算为公司搭建Jenkins+maven+svn+tomcat持续集成环境。此博客先大致介绍Jenkins,以及各种安装配置方式,后续则持续介绍其具体组合svn,GItLab,maven,Ant,加其它插件的使用方法。
  
  Jenkins:
  1.1)简介:
  开源项目,一个可扩展的持续集成引擎。提供了一种易于使用的持续集成系统,能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。还做到持续编译和发布软件项目,这使得开发者很容易把他们的改动集成到项目中,让用户能更加便利的获取编译和测试版本等。
  1.2)作用:
  1.2.1)持续、自动地构建/测试软件项目。
  1.2.2) 监控一些定时执行的任务。
  1.3)特性:
  
  1.3.1)易于安装-只要把 jenkins.war 部署到 servlet 容器,不需要数据库支持。
  1.3.2)易于配置-所有配置都是通过其提供的 web 界面实现。
  1.3.3)集成 RSS/E-mail 通过 RSS 发布构建结果或当构建完成时通过 e-mail 通知。
  1.3.4)生成 JUnit/TestNG 测试报告。
  1.3.5)分布式构建支持 Jenkins 能够让多台计算机一起构建/测试。
  1.3.6)文件识别:Jenkins 能够跟踪哪次构建生成哪些 jar,哪次构建使用哪个版本的 jar 等。
  1.3.7)插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。
  1.4)常用组合
  1.4.1)Jenkins+maven(Ant)+svn+tomcat+其它插件
  1.4.2)Jenkins+maven(Ant)+GItLab+tomcat+其它插件
  ......
  1.5)安装(两种方式)
  1.5.1)yum方式安装
  官方文档:
  https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions
  
  1.5.1.1)安装java和tomcat(分别用的tomcat7和jdk1.7版本)
# java1.7-version  
java version "1.7.x"
  
Java(TM) SE Runtime Environment (build 1.7.x)
  
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
  
# cd /usr/local/tomcat-7.x/bin/
  
# ./version.sh
  
Using CATALINA_BASE:   /usr/local/tomcat-7.x
  
Using CATALINA_HOME:   /usr/local/tomcat-7.x
  
Using CATALINA_TMPDIR: /usr/local/tomcat-7.x/temp
  
Using JRE_HOME:      /usr/local/jdk1.7.x
  
Using CLASSPATH:       /usr/local/tomcat-7.x/bin/bootstrap.jar:/usr/local/tomcat-7.x/bin/tomcat-juli.jar
  
Server version: Apache Tomcat/7.x
  
Server built:   May 19 2014 10:26:15
  
Server number:7.x
  
OS Name:      Linux
  
OS Version:   2.6.32-504.el6.x86_64
  
Architecture:   amd64
  
JVM Version:    1.7x
  
JVM Vendor:   Oracle Corporation
  
#
  1.5.1.2)yum安装jenkins
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo  
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
  
yum install jenkins -y

  1.5.1.3)防止Jenkins内存溢出
vi/etc/sysconfig/jenkins  
#JENKINS_USER="root"
  
#JENKINS_PORT="8080"
  
JENKINS_JAVA_OPTIONS="-Xms1024m -Xmx1024m -XX:PermSize=512M -XX:PermSize=1024M"
  1.5.1.4)开启Jenkins服务
  
  1.5.1.5)访问:
  http://IP:8080/(根据自己定义的ip和端口)
  默认密码可以在日志看到,或者指定文件里。
/var/lib/jenkins/secrets/initialAdminPassword  
# ll /var/log/jenkins/jenkins.log
  
-rw-r--r-- 1 jenkins jenkins 114057 8月   9 23:37 /var/log/jenkins/jenkins.log
  
#
  
  1.5.1.6)安装完成界面:
  
  1.5.2)War包形式(推荐)
  1.5.2.1)官网https://jenkins.io/ (建议生产选择TLS稳定版)

  1.5.2.2)上传到站点下,重启tomcat(java-jar jenkins.war也可以)
# pwd  
/usr/local/tomcat-7.x/webapps
  
# ll
  
总用量 68160
  
drwxr-xr-x 14 root root   4096 8月   8 13:05 docs
  
drwxr-xr-x7 root root   4096 8月   8 13:05 examples
  
drwxr-xr-x5 root root   4096 8月   8 13:05 host-manager
  
drwxr-xr-x 10 root root   4096 8月   8 16:58 jenkins
  
-rw-r--r--1 root root 69770196 12月 21 2016 jenkins.war
  
drwxr-xr-x5 root root   4096 8月   8 13:05 manager
  
drwxr-xr-x3 root root   4096 8月   8 13:05 ROOT
  
# killall -9 java
  
# /etc/init.d/tomcat-7.x start
  
Using CATALINA_BASE:   /usr/local/tomcat-7.x
  
Using CATALINA_HOME:   /usr/local/tomcat-7.x
  
Using CATALINA_TMPDIR: /usr/local/tomcat-7.x/temp
  
Using JRE_HOME:      /usr/local/jdk1.7.x
  
Using CLASSPATH:       /usr/local/tomcat-7.x/bin/bootstrap.jar:/usr/local/tomcat-7.x/bin/tomcat-juli.jar
  
Tomcat started.
  
#
  1.5.3)访问:
  http://IP/jenkins

  1.5.3.1)根据提示找密码
# cd secrets  
# ls
  
filepath-filters.d    jenkins.model.Jenkins.crumbSalt         org.jenkinsci.main.modules.instance_identity.InstanceIdentity.KEY
  
hudson.util.Secret    jenkins.security.ApiTokenProperty.seedslave-to-master-security-kill-switch
  
initialAdminPasswordmaster.key                              whitelisted-callables.d
  
# cat initialAdminPassword
  
58b779da51484504a8649de0aada616e
  
#
  1.5.3.2)根据提示安装插件(可根据建议,也可以自定义安装插件,最好先跳过插件,需要什么安装什么),这里我就按照建议的来了。
  
  提示,会有个别插件不能按照,暂时跳过即可。建议自己要安装的插件
  Maven Project Plugin,Subversion Plugin,Checkstyle Plugin,Findbugs Plugin
  PMD Plugin,Warnings Plugin等。
  1.6)svn准备
# ps aux|grep svn|grep -v grep  
root       12170.00.0 152864   760 ?      Ss   14:58   0:00 /usr/bin/svnserve -d -r /usr/local/svndata --listen-port 9000
  
#
  1.7)maven安装配置
  1.7.1)简介
  http://maven.apache.org/
  Jenkins支持FreeStyle工程和Maven工程。
  maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性,利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。
# tar xf apache-maven-3.3.9-bin.tar.gz  
# mv apache-maven-3.3.9 /usr/local/maven
  
# cat /etc/profile.d/maven
  
exportMAVEN_HOME=/usr/local/maven/
  
exportPATH=$PATH:$MAVEN_HOME/bin
  
exportMAVEN_HOME
  
# source/etc/profile.d/maven
  
# mvn -v
  
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
  
Maven home: /usr/local/maven
  
Java version: 1.7.x, vendor: Oracle Corporation
  
Java home: /usr/local/jdk1.7.x/jre
  
Default locale: zh_CN, platform encoding: UTF-8
  
OS name: "linux", version: "2.6.32-504.el6.x86_64", arch: "amd64", family: "unix"
  
#
  到此,基本环境搭建完成,后续将介绍Jenkins配置和插件的整合使用。


页: [1]
查看完整版本: Jenkins+maven+svn+tomcat(1)