SVN commit 自动触发 hudson job
项目组使用hudson进行自动化构建已经有一段时间了,一直以来使用的是定时构建,或者,由测试人员来手动触发构建,手动部署。当然,可以把hudson的build triggers的Poll SCM设置成* * * * *,让每分钟都去轮询,但毕竟这对服务器资源还是很浪费的。
这种方式虽然能解决日常工作中的问题,但总是感觉不爽,不够自动化,这些事情应该让计算机自己来完成,于是,近日一直在网上查找如何实现SVN commit的时候,自动触发 hudson job 并自动部署。查了很多资料,都没有解决我想要实现的效果。
其实,自动部署hudson已经有插件了,这个比较简单,这里就不赘述了。关键的问题是,当SVN commit的时候,如何来自动触发 hudson 启动 job。虽然也研究了hooks的使用,但是仍然没有找到我想要达到的效果。
今天无意中看到了一篇文章中提到 curl这个开源工具(http://curl.haxx.se/download.html),感觉很强大,关于这个工具的具体介绍,百度百科已经说的很详细了,此处略过。于是抱着试一试的态度,下载了这个工具包,放到服务器上,再通过设置hudson的post-commit hooks来启动hudson job,从而实现了 SVN commit 自动触发 hudson job的目标。具体做法:
1、下载curl.exe工具,解压到服务器硬盘;
2、复制服务器端SVN项目库hooks目录下的post-commit.tmpl 文件,并命名为post-commit.cmd;
3、编辑post-commit.cmd文件内容为:安装curl.exe的路径\curl http://地址/hudson/job/库名/build?delay=0sec
通过以上几步,即可实现在svn commit 的时候,自动调用指定的 job 进行编译和部署。希望此文对有和我需求一样的人有所帮助!!!
相关推荐
svn 自动 commit 的实现 , 详见 博文 “svn 自动 commit 的实现”
svn commit-email For mail list
hudson svn maven 自动构建 deploy pom
svn提交自动邮件提醒 commit-email.pl+钩子程序
NULL 博文链接:https://tianjun309.iteye.com/blog/854393
SVN自动提交脚本,通过执行SVN Status命令来获取当前目录的Svn diff,通过替换SVN diff来将文件列表转换成Svn提交命令,最后对执行所有SVN命令来完成自动提交,可以用于SVN仓库的代码自动导入
nexus+svn+jenkin_hudson+maven+禅道项目管理软件环境搭建:基于敏捷开发流程及持续集成理念,通过工具,搭建软件开发和自动化测试的环境,提高开发效率,简化管理流程;此为部分一
持续集成-SVN+Maven+Hudson+Sonar PPT讲解,持续集成的原理
nexus+svn+jenkin_hudson+maven+禅道项目管理软件环境搭建二,继之前第二部分
自动抢svn文件锁定,对于svn文件,多人使用时,为了降低等待时间,浪费时间资源,自动锁定svn文件。
svn搭建及HUDSON
svn提交强制输入注释信息 原理:利用svn的pre-commit钩子实现。
配置SVN自动发送邮件,一般情况下我们希望在提交代码后, Subversion可以自动发送邮件给组里的每个成员。资源包含详细配置说明及要用到的工具脚本
hudson+maven+svn的简单自动化部署,目前本人已经使用在现网了、简单实用。已经说明所有步骤,看着练习就可以使用发布了
SVN自动更新、提交脚本可以自由设置提交以及更新时间,带注释方便理解,附带使用教程。。。。。。。。。。。。。。。。。。。。
工作目的:实现自动化部署工作,以期提高开发项目的工作效率; 工作内容:利用开源的可持续集成工具,实现java项目的自动编译、打包、发布等工作流程;...三、 Hudson对web项目实现自动化的编译、打包与发布;
用法:将本bat文件(不可改名)存在svn服务器端安装目录\仓库名\hooks下(该目录下有多个*.tmpl文件,包括pre-commit.tmpl即linux下的提交钩子,而pre-commit.bat为windows下的提交钩子),并修改文件中相应目录(共...
里面包含了pre-commit.bat批处理和pre-commit.exe两种方式
maven+springmvc+mybatis集成svn+hudson
通过在pre-commit文件查看用户的动作来限制删除文件的动作,通过查看用户输入的log信息长度,限制用户提交log