欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用Jenkins来自动打包和部署Maven工程【持续集成】

程序员文章站 2024-03-24 18:59:40
...

目    录

1、Jenkins全局工具配置... 1

1.1进入全局工具配置页面... 1

1.2配置maven的settings.xml路径... 3

1.3配置JDK路径... 3

1.4配置GIT客户端程序路径【非必须】... 4

1.5配置maven 的安装路径... 4

1.6点击Appy然后Save. 5

2、创建一个本地maven工程的构建项目... 5

2.1创建一个自动构建和部署的工程... 5

2.2配置源码管理... 7

2.3配置       Build参数... 7

2.4配置Post Step. 9

2.5点击Appy然后Save. 10

3、手工执行构建任务... 11

4、自动执行构建和部署... 14

 

1、Jenkins全局工具配置

使用Jenkins进行自动打包部署之前,需要对Jenkins做一些全局配置,例如指定本机的JDK在哪里,Maven在哪里,如果要用jenkins使用 git去代码库里拿代码下来,还需要指定本机的Git客户端程序位置。本文只打算讲使用jenkins构建本地已有的代码。暂不涉及Git,因为可以成功打包部署本地代码,那在加一个从git或者svn获取代码的步骤也很简单。

1.1进入全局工具配置页面

首先启动jenkins,然后登陆到jenkins首页,点击左侧菜单“系统管理”。

如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

 

点击系统设置:

使用Jenkins来自动打包和部署Maven工程【持续集成】

如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

1.2配置maven的settings.xml路径

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

1.3配置JDK路径

点击JDK安装按钮:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

然后填写自己的JDK路径,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

1.4配置GIT客户端程序路径【非必须】

如果打算让jenkins使用git客户端程序从git服务器获取代码,然后在进行构建的话,需要告诉jenkins你的git客户端程序路径。

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

 

1.5配置maven 的安装路径

Jenkins支持使用ant、maven、gradle来构建项目,我们这里使用Maven来构建项目。

点击界面上Maven选项卡下的安装按钮,填写自己的Maven路径信息,如图:

 

使用Jenkins来自动打包和部署Maven工程【持续集成】

1.6点击Appy然后Save

全局设置完成后,点击Apply,然后点击Save

使用Jenkins来自动打包和部署Maven工程【持续集成】

2、创建一个本地maven工程的构建项目

因为本文的目的是演示如何用jenkins实现自动自动打包和部署,并不打算讲的很全面很细,所以这里不讲如何让Jenkins从远程代码库里获取代码到本地。

2.1创建一个自动构建和部署的工程

入第一章所属,打包和构建工具有很多,比如Maven、Ant、Gradle,这里演示使用Maven来打包和构建的项目。

点击左侧“新建”按钮,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

 填写项目名称,并且选中“构建一个Maven项目”

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

点击左下角OK按钮,然后就进入了maven工程的配置页面:

2.2配置源码管理

因为使用的是本地maven工程,所以选择None,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

2.3配置 Build参数

往下找到Buid选项卡,然后点击“高级”,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

Root POM处填写自己工程的pom.xml文件名称,我这里填写“pom.xml”在Goals and options处填写自己要执行的maven命令,我这里填写“install”,MAVEN_OPTS处可以填写一些JVM参数,例如可以指定对内存大小,指定maven使用的字符编码等,我这里使用JVM默认的内存大小,只指定字符编码为UTF-8,所以只填写“-Dfile.encoding=UTF-8”。

如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

在往下,勾选上“使用自定义的工作空间”,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

在目录这个地方,填写你本地的maven工程的路径,例如我的工程路径是F:\jenkins_workspace\springjpadatashiro如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

所以我在目录里填写F:\jenkins_workspace\springjpadatashiro,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

 

另外还需说明的是,如果你想让jenkins在调用maven程序来构建这个工程的时候使用自定义的其他settings.xml文件,可以在下面的“Setting file”和“Global Setting file”里做修改,因为本文第一章那里已经配置了全局参数,这里我就使用默认的全局参数,不在修改了,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

2.4配置Post Step

其实进行到2.2就可以点击Appy和Save完成配置了,但是我们还可以增加一些步骤,让jekins在打包完成后,来调用某些脚本,让脚本把构建好的war包到某个web容器下,对web容器执行重启,或者是将构建好的jar包拷贝到某个位置,执行这个jar包。

找到Post Step选项卡,选中“Run only if build succeds”然后点击Add post-build step下拉框,

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

选中“Excute Windows batch commond”,并在方框内填入脚本,我这里的往里面填入了window系统的bat脚本,内容是:

set str=chenjie你好,jenkins已经完成了maven工程的构建任务!时间是:

set d=%date:~0,10% 

set t=%time:~0,8% 

set "log=%str%%d%%t%"

echo %log% >> F:\jenkins_workspace\springjpadatashiro\build.log

如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

2.5点击Appy然后Save

点击Apply和Save,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

 

3、手工执行构建任务

    点击左上角jenkins导航条,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

在首页上可以看到构建项目列表,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

  

在上图中点击项目名称,会弹出一个菜单,选择立即构建,如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

进度条:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

进度条跑完后,刷新页面,可以看到:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

进入到本地的maven工程里,可以看到多了一个target目录,这是jenkins调用maven构建项产生的,多了一个build.log日志文件,这是构建完成后,jenkins执行我写得bat脚本生成的:

 

使用Jenkins来自动打包和部署Maven工程【持续集成】

Target里的内容是:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

build.log文件里的内容是:

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

 

4、自动执行构建和部署

     所谓持续集成,自动构建,自动部署,那当然是不要人工操作了,好的,现在可以修改一下配置,让jenkins每隔10分钟构建一次(当然这里这是演示,实际间隔自己根据需要配置)。

进入配置页面,找到“构建触发器”选项卡,选中“Build  preriodically”选项,在出现的文本框中填写:0-59/10  *  *  *  *

如图:

使用Jenkins来自动打包和部署Maven工程【持续集成】

点击Apply和Save即可实现每隔10分钟自动打包部署一次。

 

从日志文件可以看到,每隔10分钟打包一次:

 

使用Jenkins来自动打包和部署Maven工程【持续集成】

 

这个时间表达式的配置和Linux系统的crontab命令的时间表达式一样的,这里不多说了。