zoukankan      html  css  js  c++  java
  • Jenkins02:Jenkins+maven+svn集成

    1、安装Maven并配置环境变量

              下载maven(windows下载zip包,linux下载tar.gz包),然后配置环境变量

              在项目中使用maven,可以从java中央仓库中获取到项目所依赖的jar包,才能完成项目的部署。

    1.1 Linux配置环境变量内容

    export MAVEN_HOME=/usr/local/apache-maven-3.5.3  -- 选择自己正确的版本号export PATH=${PATH}:${MAVEN_HOME}/bin

    配置完成后,输入source profile使环境变量生效

    在终端输入mvn -v查看maven是否安装成功

    1.2 Windows配置环境变量内容

    添加环境变量
    MAVEN_HOME=C:Program FilesMavenapache-maven-3.5.3在path后追加环境变量:%MAVEN_HOME%in

    输出mvn -v检查是否安装成功

    2、配置Jenkins中的jdk和maven环境变量

    2.1 在Jenkins中点击系统管理->全局工具配置分别配置jdk和maven

    2.1.1 配置jdk

    2.1.2 配置maven

    1. 安装插件Maven Integration plugin

    2. 全局配置工具中配置maven

    3 安装搭建svn

            安装文档地址:

    https://jingyan.baidu.com/article/870c6fc36a31d0b03fe4be3f.html

    4 构建Jenkins集成项目

    1. 构建一个maven项目(需要先安装Maven Integration plugin插件)

    1. 配置源码管理(svn)

    1. 在Pre Steps下找到Build进行配置

    5. 项目执行日志输出及解释

    5.1 日志关键点展示

    5.1.1 项目构建完成控制台输出

    5.1.2 生成的jar包的路径

    5.1.3 如果控制台报错找不到对应的jar包的解决办法

            说明在maven的中央仓库无法下载到这个jar包,那么就需要找开发要对应的jar包然后放到控制台报错指示路径即可

    5.2 日志输出完整展示

    由用户 admin 启动
    构建中 在工作空间 C:Program Files (x86)JenkinsworkspaceMaven_SVN_Jenkins02 中
    Updating https://172_16_0_13/svn/MySVN at revision '2018-05-09T19:13:45.498 +0800' --quietUsing sole credentials admin/****** (SVN) in realm ‘<https://172_16_0_13:443> VisualSVN Server’
    At revision 1No changes for https://172_16_0_13/svn/MySVN since the previous build
    No emails were triggered.
    Parsing POMs
    Established TCP socket on 52378[JunitTest02] $ "C:Program FilesJavajdk1.8.0_144/bin/java" -cp "C:Program Files (x86)Jenkinspluginsmaven-pluginWEB-INFlibmaven35-agent-1.12-alpha-1.jar;C:Program FilesMavenapache-maven-3.5.3ootplexus-classworlds-2.5.2.jar;C:Program FilesMavenapache-maven-3.5.3/conf/logging" jenkins.maven3.agent.Maven35Main "C:Program FilesMavenapache-maven-3.5.3" "C:Program Files (x86)JenkinswarWEB-INFlib
    emoting-3.20.jar" "C:Program Files (x86)Jenkinspluginsmaven-pluginWEB-INFlibmaven35-interceptor-1.12-alpha-1.jar" "C:Program Files (x86)Jenkinspluginsmaven-pluginWEB-INFlibmaven3-interceptor-commons-1.12-alpha-1.jar" 52378<===[JENKINS REMOTING CAPACITY]===>channel started
    Executing Maven:  -B -f C:Program Files (x86)JenkinsworkspaceMaven_SVN_Jenkins02JunitTest02pom.xml install
    [INFO] Scanning for projects...
    [INFO] 
    [INFO] -----------------------< com.maven:JunitTest02 >------------------------[INFO] Building JunitTest02 0.0.1-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------[INFO] 
    [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ JunitTest02 ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] Copying 0 resource
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ JunitTest02 ---[INFO] Nothing to compile - all classes are up to date
    [INFO] 
    [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ JunitTest02 ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] Copying 0 resource
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ JunitTest02 ---[INFO] Nothing to compile - all classes are up to date
    [INFO] 
    [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ JunitTest02 ---[INFO] Surefire report directory: C:Program Files (x86)JenkinsworkspaceMaven_SVN_Jenkins02JunitTest02	argetsurefire-reports-------------------------------------------------------
     T E S T S-------------------------------------------------------Running com.junit.exam01.DecoExamTest
    This is test A
    This is test B
    Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 sec
    
    Results :
    
    Tests run: 2, Failures: 0, Errors: 0, Skipped: 0[JENKINS] Recording test results
    [INFO] 
    [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ JunitTest02 ---[WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.BuildInfoRecorder$1; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
    [INFO] 
    [INFO] --- maven-install-plugin:2.4:install (default-install) @ JunitTest02 ---[WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.SurefireArchiver$2; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
    [INFO] Installing C:Program Files (x86)JenkinsworkspaceMaven_SVN_Jenkins02JunitTest02	argetJunitTest02-0.0.1-SNAPSHOT.jar to C:Windowssystem32configsystemprofile.m2
    epositorycommavenJunitTest020.0.1-SNAPSHOTJunitTest02-0.0.1-SNAPSHOT.jar
    [INFO] Installing C:Program Files (x86)JenkinsworkspaceMaven_SVN_Jenkins02JunitTest02pom.xml to C:Windowssystem32configsystemprofile.m2
    epositorycommavenJunitTest020.0.1-SNAPSHOTJunitTest02-0.0.1-SNAPSHOT.pom
    [WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.MavenArtifactArchiver$2; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
    [WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.MavenFingerprinter$1; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
    [INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------[INFO] Total time: 13.063 s
    [INFO] Finished at: 2018-05-09T19:14:07+08:00[INFO] ------------------------------------------------------------------------Waiting for Jenkins to finish collecting data
    [JENKINS] Archiving C:Program Files (x86)JenkinsworkspaceMaven_SVN_Jenkins02JunitTest02pom.xml to com.maven/JunitTest02/0.0.1-SNAPSHOT/JunitTest02-0.0.1-SNAPSHOT.pom
    [JENKINS] Archiving C:Program Files (x86)JenkinsworkspaceMaven_SVN_Jenkins02JunitTest02	argetJunitTest02-0.0.1-SNAPSHOT.jar to com.maven/JunitTest02/0.0.1-SNAPSHOT/JunitTest02-0.0.1-SNAPSHOT.jar
    channel stopped
    Email was triggered for: Always
    Sending email for trigger: Always
    Sending email to: Gupan0923@126.com
    Finished: SUCCESS

    6. 打war包配置及出错指导

    6.1 修改pom.xml文件

            使用maven默认打包时打的jar包,如果要打war包需要修改pom.xml文件,修改方式如下:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.maven</groupId>
      <artifactId>JunitTest02</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      
      <!--  以下是添加的代码-->
      <dependencies>
          <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
          </dependency>
      </dependencies>
      <!--  添加代码结束-->
      
      <!-- 将这里修改为war打包的时候就可以打war包 -->
      <packaging>war</packaging></project>

    6.2 jenkins打包报错解决指导

    6.2.1 错误展示

            修改后,jenkins打包时,发现报错如下:

    6.2.2 出错原因

            maven的web项目默认的webroot是在srcmainwebappWEB-INF。如果在此目录下找不到web.xml就抛出以上的异常。

    6.2.3 问题解决

            在srcmainwebappWEB-INF下建立web.xml文件

  • 相关阅读:
    练习题
    作业2.6-2.15 两次作业
    11.13(2)
    11.13
    11.6
    10.30
    10.15
    10.9
    9.25号作业
    9.18号
  • 原文地址:https://www.cnblogs.com/liulinghua90/p/9050308.html
Copyright © 2011-2022 走看看