荧客技荐Jenkins+SVN+Maven 自动化部署环境搭建

Posted 荧客网络

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了荧客技荐Jenkins+SVN+Maven 自动化部署环境搭建相关的知识,希望对你有一定的参考价值。

与之前传统单应用架构相比,系统部署、配置更加复杂,为了能够频繁地将软件的最新版本,及时、持续地交付给测试团队及质量控制团队,以供评审,所以引入持续集成工具Jenkins,从而实现公司新产品持续集成,自动化部署。


环境准备


  • 操作系统:Windows10

  • Java环境:下载 jdk-1.8.0-131-X64.zip,配置Java环境变量(参考:http://jingyan.baidu.com/article/02027811629b941bcc9ce521.html

  • Maven环境:下载apache-maven-3.5.2-bin.zip,配置Maven环境变量(参考:http://wiki.jikexueyuan.com/project/maven/environment-setup.html)

  • Tomcat环境:下载apache-tomcat-8.5.20-windows-x64.zip,配置Tomcat环境变量(参考:http://jingyan.baidu.com/article/8065f87fcc0f182330249841.html)

  • Jenkins环境:下载Jenkins2.73.2 for Windows


安装Jenkins


1、运行下载好的Jenkins安装包jenkins.msi,选择安装路径,点击”安装“,等待安装完成;


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


2、安装完成以后,会自动启动浏览器,跳转到Jenkins登录页面。第一次启动Jenkins,出于安全考虑,Jenkins会生产一个随机口令文件,表单中会给出管理员口令文件存放的位置,通过Windows+R,调出运行窗口,将存放口令的文件路径粘贴到输入框,点击回车,快速打开文件,将文件中的口令输入到表单中,点“Continue”继续;


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


3、安装Jenkins官方建议的默认插件;


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


4、创建第一个管理员用户,创建完成以后,就可以用这个用户登录到Jenkins系统中。


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


安装插件


下面介绍实际部署中所用到的几个插件,安装方法:系统管理->管理插件。


  • 安装Deploy to container Plugin(自动化部署插件)

  • 安装Maven Integration Plugin(Maven集成插件)

  • 安装Publish Over SSH Plugin(SSH远程发布插件)


注意:因插件安装以后,需要重启Jenkins才能够使用。所以在安装插件时,可以勾选安装完成后重启Jenkins。如果不小心忘记勾选,也没有关系,可以在浏览器网址端口后面输入/restart来重启Jenkins,其它的命令,可参考系统管理->Jenkins CLI。


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


系统配置


插件安装完成以后,我们需要对系统进行配置。


1、首先进行全局配置,系统管理->系统设置:


Jenkins Location 配置



【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


邮件通知配置



【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


SSH remote hosts 配置


SSH远程主机配置,主要用来通过SSH方式远程发布,在后面的章节会详细介绍。


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


Publish over SSH 配置


主要是用来通过SSH方式远程发布,在后面的章节会详细介绍。


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


2、然后,进入系统设置->Global Tool Configuration:


SonarQube servers 配置


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


Maven 配置


配置Maven主要是配置Maven的settings.xml文件,Jenkins在构建Maven项目时需要依靠该配置文件来执行Maven,其配置如下:


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


JDK 配置


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


SonarQube Scanner 配置


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


新建项目


新建一个Maven项目


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


项目配置


###源码管理


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


构建触发器


Jenkins提供了6中构建触发器,分别是:


  1. build whenever a snapshot dependency is built ,当job依赖的快照版本被build时,执行本job;

  2. 触发远程构建 (例如,使用脚本);

  3. build after other projects are built 当本job依赖的job被build时,执行本job;

  4. build periodically 隔一段时间build一次,不管版本库代码是否发生变化,通常不会采用此种方式;

  5. GitHub hook trigger for GITScm polling 通过Github钩子触发;

  6. poll scm 隔一段时间比较一次源代码,如果发生变更,那么久build。否则,不进行build,通常采用这种方式。


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


构建(Build)


调用Maven “clean install”命令。


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


增加一个构建后步骤(自动部署)


因在Windows环境下部署,所以选择Execute Windows batch command。


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


自动部署的思路:设置全局变量(项目名称,构建新包路径,配置文件路径,Tomcat路径等)->关闭Tomcat->删除Tomcat中旧版本包->拷贝新包到Tomcat应用目录->启动Tomcat(解压包)->关闭Tomcat->替换配置文件->删除War包->启动Tomcat,自己写的脚本代码如下:


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建

【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


构建设置(邮件通知)


【荧客技荐】Jenkins+SVN+Maven 自动化部署环境搭建


构建测试


点击“立即”构建,maven 打包成功,执行脚本无误以后,整个自动化部署就成功了。



结语


按照以上步骤,可以成功完成自动化部署环境搭建。网上很多教程,在“构建后步骤”这一步直接贴出Execute shell,且未说明是在什么操作系统环境下,注意直接拿来用在Windows环境下面是不行的。


Jenkins软件帮助功能做的非常强大,在每一项配置后面,都会有一个帮助菜单,所以当你不确定该项如何填写时,这个菜单是最好的参考工具。后面我将会继续介绍通过SSH远程发布以及Jenkins与SonarQube(开源代码质量管理系统)集成,欢迎一起交流学习。


以上是关于荧客技荐Jenkins+SVN+Maven 自动化部署环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

荧客技荐自己手写一个 SpringMVC 框架

荧客技荐RabbitMQ 实战之 Spring Boot 整合 RabbitMQ

荧客技荐Go 语言宣布加入 WASM!WebAssembly 再添猛将

荧客技荐JDK 10 本周将进入候选发布阶段,新特性抢先看

荧客技荐Flux 会取代 Web MVC,或可不再基于 Servlet 容器了?

荧客技荐Caffe2 代码全部并入 PyTorch:深度学习框架格局剧震