简介

    Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建、自动编译和部署,非常方便。在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器数量的增加,Jenkins的优势就会凸显出来,可以很好的提高效率,减少很多人工操作。现在公司的开发都是使用Git管理代码,Maven管理多模块和项目依赖。Jenkins支持两种工程:FreeStyle工程和Maven工程。如果代码是用Maven构造的,可以直接建立Maven工程。

Maven工程配置

新建一个Maven工程后,需要设置以下条目:    1、设置git代码的下载路径    2、设置自动构造的日期    3、设置pom文件的路径    4、设置mvn命令的参数    5、设置post-build的动作

Jenkins插件

菜单路径:系统管理—管理Jenkins—管理插件。    安装以下插件:        1、Maven Integration plugin        2、Subversion Plugin        3、Checkstyle Plugin        4、Findbugs Plugin        5、PMD Plugin        6、Warnings Plugin        7、Maven Info Plugin        8、Maven Repository Scheduled Cleanup Plugin        9、Unleash Maven Plugin        10、Maven Invoker plugin

实例:配置jenkins支持maven自动编译

新建一个GIT仓库用于存放我们的JAVA代码

克隆到本地

[jenkins@node1 ~]$ git clone git@github.com:caichangen/maven.git

提交一份代码(此处我找到一份maven编译的代码)

[jenkins@node1 ~]$ tar xf backend.tar.gz[jenkins@node1 ~]$ mv backend/* maven/[jenkins@node1 ~]$ cd maven/[jenkins@node1 maven]$ git add ./*[jenkins@node1 maven]$ git commit -m 'commit java'[jenkins@node1 maven]$ git push -u origin master

查看

在node1上配置的maven

[jenkins@node1 ~]$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz[root@node1 jenkins]# tar xf apache-maven-3.3.9-bin.tar.gz -C /usr/local/[root@node1 jenkins]# cd /usr/local/[root@node1 local]# ln -sv apache-maven-3.3.9/ maven[root@node1 ~]# [root@node1 ~]# tail -6 /etc/profileexport JAVA_HOME=/usr/java/jdk1.8.0_112export CLASSPATH=.:$JAVA_HOME/jre/lib/*:$JAVA_HOME/lib/*export PATH=$PATH:$JAVA_HOME/binexport M2_HOME=/usr/local/mavenexport M2=$M2_HOME/binexport PATH=$M2:$PATH[root@node1 ~]# source /etc/profile[jenkins@node1 ~]$ mvn -vApache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)Maven home: /usr/local/mavenJava version: 1.8.0_112, vendor: Oracle CorporationJava home: /usr/java/jdk1.8.0_112/jreDefault locale: en_US, platform encoding: UTF-8OS name: "linux", version: "3.10.0-514.el7.x86_64", arch: "amd64", family: "unix"

配置jenkins设置中的maven和jdk环境

配置JDK

配置maven

创建一个maven项目

填入git仓库地址

配置pom.xml

build测试是否会进行打包

查看我们生成的war包(第一次需要下载一些jar包,所以时间会比较久)

注意

打包完成,此后我们就可以使用之前的方式来做代码分发到tomcat网站根目录了,因为java代码每次分发都需要重启tomcat,所以在此处需要注意的是,我们使用ansible去重启tomcat的时候需要用到nohup参数,可能是ansible不支持长连接的原因,如果不使用nohup参数的话会出现无法启动的原因(亲测)在很多情况下,当我们的jenkins打包java程序的时候,会出现各种意想不到的情况大多部分都是因为缺少某某包而造成的,其实当我们有jenkins/java的环境下,我们可以自建nexus仓库,然后将改仓库加入到我们的项目开发的过程中,开发人员每次提交代码的时候先要将独立开发的工具类上传到我们的nexus,这样就可以完美避免这类问题的发生,当有了这个环境之后,jenkins开始构建的首先会在公共仓库里面去下载代码中需要的jar包,当公共仓库找不到的时候,此时会自己去我们的私有仓库里面去寻找;

maven 设置打包路径为模块_4、Jenkins持续集成之maven编译相关推荐

  1. maven 设置打包路径为模块_Maven项目的子模块不能打成jar包输出到lib目录

    这是项目的目录结构,admin模块是父模块 admin模块的pom.xml xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 htt ...

  2. Jenkins持续集成环境, 如何自定义 maven repositories

    假设自定义的仓库路径为"/opt/repository",那么在"系统管理-系统设置"中,修改"全局MAVEN_OPTS"的值为如下的内容: ...

  3. 【测试开发】的Devops持续集成部署体系之Jenkins持续集成和持续部署基础应用

    目录 [一]:Jenkins 持续集成安装及使用简介 一.前言 二.初始化 Jenkins 插件和管理员用户 2.1 进入如下页面,输入上面出现的口令 2.2 进入选择安装插件的页面后,可以选择安装社 ...

  4. AndroidStudio目录结构 APP构建流程 Jenkins持续集成构建 Gradle介绍 Proguard混淆

    Android Studio目录结构 通常我们是将工程设置成project模式,这个模式下我们的工程有很多目录: .gradle:包含一些Gradle编译脚本,gradle是Google推荐的编译工具 ...

  5. Jenkins持续集成入门到精通

    Jenkins持续集成入门到精通 文章目录 Jenkins持续集成入门到精通 1. 持续集成及Jenkins介绍 1.1 软件开发生命周期 1.2 软件开发瀑布模型 1.3 软件的敏捷开发 1.3.1 ...

  6. 华为表哥手把手教你利用Jenkins持续集成iOS项目,教不会我花式拉翔!!!

    手把手教你利用Jenkins持续集成iOS项目: 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP ...

  7. Jenkins持续集成学习笔记(2020.11.22)

    Jenkins持续集成学习笔记(2020.11.22) 前言: (官网) 以前很久学习过Jenkins持续集成进行快速部署项目进行测试, 最近换工作了, 发现新公司有用到, 现在来复习一下 官网介绍: ...

  8. Jenkins 持续集成环境快捷部署

    搭建持续集成环境 jenkins + maven + svn + tomcat 实现自动编译打包部署 1.环境准备 (1)JDK1.8.0_131                    #不低于1.7 ...

  9. 居然有这样的测试神器?Jenkins持续集成,测试简直如有神助

    一招教你在linux服务器配置Jenkins持续集成神器 先在开发的项目pom文件中添加依赖,配置插件,两个project 一个是springboot开发接口项目Chapter114 一个是测试接口项 ...

最新文章

  1. jQuery的deferred对象详解
  2. Servlet3——注解
  3. windows 如何使用4GB(开启3GB和PAE)
  4. 【網址收藏】解决VSCODE“因为在此系统上禁止运行脚本“报错
  5. 游戏通讯技术:帧同步技术
  6. 雅虎网站页面性能优化的34条黄金守则 收藏
  7. Android之靠谱的Activity从底部向上弹出,finish从顶部向下消失(不黑屏)
  8. Sublime text 入门学习资源篇及其基本使用方法
  9. Linux shell 常用命令
  10. 也谈WEB打印(四):让我们的模板支持打印,并根据内容动态的生成页面
  11. FastDFS-单机版安装
  12. LightGBM官方中文文档上线啦!
  13. java 代码效率_提高代码性能效率总结(一)--Java
  14. 微型计算机原理与接口技术第五版pdf,微型计算机原理与接口技术(第5版)
  15. 导出数据库数据至CSV格式
  16. 全方位了解8.0系统下的Handler
  17. 没有基础的人如何自学裁缝?
  18. 什么是巴旦木?种植巴旦木树苗产量高吗?
  19. 深度学习资料链接整理(囊括ML,DL,CV团队,网站,优秀博客,实验室等大堆资料集)
  20. 机器人中的数值优化之最速下降法

热门文章

  1. c语言不会可以学好java吗_C语言一定要学好吗?
  2. 手机蓝牙连不上jimu机器人_蓝牙连接出现问题到解决问题,一件小事,感慨实时逆向思维的重要...
  3. 全面讲解Python列表数组(二),列表分区/片,列表操作符,比较操作符,逻辑操作符,连接操作符,重复操作符,成员关系操作符;
  4. 2014 ecb,_it’s_easy_as_123(修改bmp文件头) 攻防世界;
  5. Python教程:快速掌握列表的常用方法
  6. Python3基础教程:元类详解
  7. python基本数据类型的结构和使用方法
  8. arm linux下nginx服务无法正常启动是什么原因?
  9. 什么是.hpp文件?
  10. python 切片 单冒号的作用[:](批量赋值最小数组单元)