使用Jenkins来自动打包和部署Maven工程【持续集成】
目 录
1.2配置maven的settings.xml路径... 3
1、Jenkins全局工具配置
使用Jenkins进行自动打包部署之前,需要对Jenkins做一些全局配置,例如指定本机的JDK在哪里,Maven在哪里,如果要用jenkins使用 git去代码库里拿代码下来,还需要指定本机的Git客户端程序位置。本文只打算讲使用jenkins构建本地已有的代码。暂不涉及Git,因为可以成功打包部署本地代码,那在加一个从git或者svn获取代码的步骤也很简单。
1.1进入全局工具配置页面
首先启动jenkins,然后登陆到jenkins首页,点击左侧菜单“系统管理”。
如图:
点击系统设置:
如图:
1.2配置maven的settings.xml路径
1.3配置JDK路径
点击JDK安装按钮:
然后填写自己的JDK路径,如图:
1.4配置GIT客户端程序路径【非必须】
如果打算让jenkins使用git客户端程序从git服务器获取代码,然后在进行构建的话,需要告诉jenkins你的git客户端程序路径。
1.5配置maven 的安装路径
Jenkins支持使用ant、maven、gradle来构建项目,我们这里使用Maven来构建项目。
点击界面上Maven选项卡下的安装按钮,填写自己的Maven路径信息,如图:
1.6点击Appy然后Save
全局设置完成后,点击Apply,然后点击Save
2、创建一个本地maven工程的构建项目
因为本文的目的是演示如何用jenkins实现自动自动打包和部署,并不打算讲的很全面很细,所以这里不讲如何让Jenkins从远程代码库里获取代码到本地。
2.1创建一个自动构建和部署的工程
入第一章所属,打包和构建工具有很多,比如Maven、Ant、Gradle,这里演示使用Maven来打包和构建的项目。
点击左侧“新建”按钮,如图:
填写项目名称,并且选中“构建一个Maven项目”
点击左下角OK按钮,然后就进入了maven工程的配置页面:
2.2配置源码管理
因为使用的是本地maven工程,所以选择None,如图:
2.3配置 Build参数
往下找到Buid选项卡,然后点击“高级”,如图:
在Root POM处填写自己工程的pom.xml文件名称,我这里填写“pom.xml”在Goals and options处填写自己要执行的maven命令,我这里填写“install”,MAVEN_OPTS处可以填写一些JVM参数,例如可以指定对内存大小,指定maven使用的字符编码等,我这里使用JVM默认的内存大小,只指定字符编码为UTF-8,所以只填写“-Dfile.encoding=UTF-8”。
如图:
在往下,勾选上“使用自定义的工作空间”,如图:
在目录这个地方,填写你本地的maven工程的路径,例如我的工程路径是F:\jenkins_workspace\springjpadatashiro如图:
所以我在目录里填写F:\jenkins_workspace\springjpadatashiro,如图:
另外还需说明的是,如果你想让jenkins在调用maven程序来构建这个工程的时候使用自定义的其他settings.xml文件,可以在下面的“Setting file”和“Global Setting file”里做修改,因为本文第一章那里已经配置了全局参数,这里我就使用默认的全局参数,不在修改了,如图:
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下拉框,
选中“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
如图:
2.5点击Appy然后Save
点击Apply和Save,如图:
3、手工执行构建任务
点击左上角jenkins导航条,如图:
在首页上可以看到构建项目列表,如图:
在上图中点击项目名称,会弹出一个菜单,选择立即构建,如图:
进度条:
进度条跑完后,刷新页面,可以看到:
进入到本地的maven工程里,可以看到多了一个target目录,这是jenkins调用maven构建项产生的,多了一个build.log日志文件,这是构建完成后,jenkins执行我写得bat脚本生成的:
Target里的内容是:
build.log文件里的内容是:
4、自动执行构建和部署
所谓持续集成,自动构建,自动部署,那当然是不要人工操作了,好的,现在可以修改一下配置,让jenkins每隔10分钟构建一次(当然这里这是演示,实际间隔自己根据需要配置)。
进入配置页面,找到“构建触发器”选项卡,选中“Build preriodically”选项,在出现的文本框中填写:0-59/10 * * * *
如图:
点击Apply和Save即可实现每隔10分钟自动打包部署一次。
从日志文件可以看到,每隔10分钟打包一次:
这个时间表达式的配置和Linux系统的crontab命令的时间表达式一样的,这里不多说了。
上一篇: Android使用Gradle命令动态传参完成打包不需要修改代码
下一篇: Typora快捷键汇总