jenkins+Maven从SVN上构建项目的方法

 更新时间:2020年09月19日 09:03:07   作者:eastonliu  
这篇文章主要介绍了jenkins+Maven从SVN上构建项目,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、安装Maven

下载地址:https://maven.apache.org/download.cgi

把下载的安装包解压

tar -xvf apache-maven-3.6.1-bin.tar.gz

配置环境变量

vim /etc/profile
export M2_HOME=/usr/local/maven/apache-maven-3.6.1
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

使配置文件生效

source /etc/profile

查看版本信息

mvn -v

二、jenkins配置

1、配置jdk

先在Jenkins服务器上安装jdk

进入Jenkins页面:Manage Jenkins->Global Tool Configuration

2、配置SVN凭据

进入Jenkins页面:Credentials

3、配置Maven

进入Jenkins页面:Manage Jenkins->Global Tool Configuration

进入Manage Jenkins->Configure System,配置全局环境变量

4、新建一个Pipeline的job

脚本:

pipeline {
  agent any
  environment {

    def sscs_ms_version = "SSCS.MS_V100R001B040"

    def iCommunity_Dir = "/JenkinsPackage/iCommunity/SSCS.MS/"
    def iCommunity_WorkSpace_Dir = "/var/lib/jenkins/workspace/智慧社区_01.sscs.ms"
  }
  stages {
    stage("检出智慧社区相关代码") {
      steps {
        echo "开始检出 SSCS_MS 代码"
        checkout([$class: 'SubversionSCM',
          additionalCredentials: [],
          excludedCommitMessages: '',
          excludedRegions: '',
          excludedRevprop: '',
          excludedUsers: '',
          filterChangelog: false,
          ignoreDirPropChanges: false,
          includedRegions: '',
          locations: [[credentialsId: 'svn_readonly', #新建SVN凭据时填写的ID
            depthOption: 'infinity',
            ignoreExternalsOption: true,
            local: 'SSCS_MS',
            remote: "http://192.168.1.3/CoNET/view/trunk/sscp/sscs-ms"]],
          workspaceUpdater: [$class: 'UpdateUpdater']])
        echo "检出 SSCS_MS 成功"
      }
    }

    stage("构建智慧社区相关模块") {
      tools{jdk "JDK1.8"}
      steps {
        echo "开始构建 SSCS_MS 模块"
        dir('SSCS_MS') {
          sh 'mvn -X package'
        }
        echo "构建 SSCS_MS 成功"
      }
    }

    stage("复制各个模块到指定目录") {
      steps {
        sh 'mkdir -p ${iCommunity_Dir}${BUILD_NUMBER}'

        sh 'mkdir -p ${iCommunity_Dir}${BUILD_NUMBER}/${sscs_ms_version}'

        dir('SSCS_MS/target') {
          sh 'cp ${sscs_ms_version}.zip ${iCommunity_Dir}${BUILD_NUMBER}/${sscs_ms_version}/'
        }
        echo "sscs_ms的包移动成功!"
      }
    }
  }
}

到此这篇关于jenkins+Maven从SVN上构建项目的方法的文章就介绍到这了,更多相关jenkins+Maven构建项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用反射获取Java类中的静态变量名及变量值的简单实例

    利用反射获取Java类中的静态变量名及变量值的简单实例

    下面小编就为大家带来一篇利用反射获取Java类中的静态变量名及变量值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Java编程swing组件JLabel详解以及使用示例

    Java编程swing组件JLabel详解以及使用示例

    这篇文章主要介绍了Java编程swing组件JLabel详解以及使用示例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • SpringBoot后台实现文件上传下载

    SpringBoot后台实现文件上传下载

    这篇文章主要为大家详细介绍了SpringBoot后台实现文件上传下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 浅析Java关键词synchronized的使用

    浅析Java关键词synchronized的使用

    Synchronized是java虚拟机为线程安全而引入的。这篇文章主要为大家介绍一下Java关键词synchronized的使用与原理,需要的可以参考一下
    2022-12-12
  • JVM的类加载器和双亲委派模式你了解吗

    JVM的类加载器和双亲委派模式你了解吗

    这篇文章主要为大家详细介绍了JVM类加载器和双亲委派模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • java集合框架 arrayblockingqueue应用分析

    java集合框架 arrayblockingqueue应用分析

    ArrayBlockingQueue是一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素
    2012-11-11
  • jdk源码阅读Collection详解

    jdk源码阅读Collection详解

    这篇文章主要介绍了jdk源码阅读Collection详解,具有一定借鉴价值,需要的朋友可以参考下
    2017-12-12
  • 一文带你深入了解Java泛型

    一文带你深入了解Java泛型

    Java 泛型(generics)是 Jdk 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制, 该机制允许程序员在编译时检测到非法的类型。本文将通过示例详解Java泛型的定义与使用,需要的可以参考一下
    2022-08-08
  • Java代码为例讲解堆的性质和基本操作以及排序方法

    Java代码为例讲解堆的性质和基本操作以及排序方法

    堆数据结构可以看作一颗完全二叉树,因而又被成为二叉堆,这里我们以Java代码为例讲解堆的性质和基本操作以及排序方法,需要的朋友可以参考下
    2016-06-06
  • springMVC+velocity实现仿Datatables局部刷新分页方法

    springMVC+velocity实现仿Datatables局部刷新分页方法

    下面小编就为大家分享一篇springMVC+velocity实现仿Datatables局部刷新分页方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02

最新评论