jenkins根据SVN增量更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins根据SVN增量更新相关的知识,希望对你有一定的参考价值。

jenkins在构建的时候只从SVN构建更新的部分,而不是全部源码都重新构建

参考技术A 构建

先添加一个ant构建,在添加一个执行windows批处理命令,结果如下:

通过这里的构建环境的配置,我们可以在构建发生前进行一些准备工作。我们不需要,就不需要配置。
用ant构建,会需要一个build文件,默认的会加载工作空间下的build.xml文件进行构建。这里不熟悉的同学可以看下ant相关文档。
当ant构建完成之后,执行windows批处理命令:
Java -jar inte.jar "%JENKINS_HOME%" %JOB_NAME% %BUILD_ID%

这里其实比较简单,就是调用了java命令执行了一个jar文件。参数有三个,都是jenkins提供的参数。
"%JENKINS_HOME% 是jenkins的安装目录。得到的值“E:\ProgramFiles (x86)\Jenkins”
%JOB_NAME% 是构建的项目的名称
%BUILD_ID% 是构建的版本号

该jar的主要功能是这样的 :
1:解析“%JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_ID%” 下的changelog.xml 文件,获得文件变更列表
2:获得该列表对应的文件。如果是java文件,则找到对应的编译后的class文件(需要处理内部类),如果是非java文件,则直接获得对应文件。
3:将所有文件按照编译后的目录结构,移动到该文件夹下
4:将该文件夹打包成changeFiles.tar文件并放置到工作空间下

send file or execute commands over ssh
增量发布包打完之后就是执行增量更新了。新增一个构建任务“send file or execute commands over ssh”并按照如下配置进行配置:

其中 exec command中需要填写:
/save/publish.sh dsideal_yy $BUILD_ID

这里是要执行远程主机上的 /save/publish.sh脚本。带有两个参数,第一个参数是要将增量文件拷贝到tomcat中的哪个工程下,第二个参数是构建的版本号。

到这里增量发布基本完成了。

以上是关于jenkins根据SVN增量更新的主要内容,如果未能解决你的问题,请参考以下文章

AssetBundle增量打包

Jenkins系列之-—10 实现自动打增量包

关于Subversion主从备份方式的调整(全量增量脚本)更新

仓库更新的增量负载

增量式爬虫

爬虫学习18.增量式爬虫