把SVN和jenkins连起来--有人提代码就能自动build!

本文介绍了如何将SVN与Jenkins连接,实现有人提交代码后自动触发build过程。只需安装并配置subversion插件及SCM poll插件,设置定时检查,即可实现代码更新即刻响应的自动化构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多人看了俺的daily build框架,提问,svn怎么能跟jenkins连起来啊?

肿么办到的啊!


这里就简单说明下吧,其实就是2个插件的配合而已了。


第一步,设置subversion插件,指向你想monitor的代码库。



第二步,设置SCM poll插件,参数框内写* * * * *


### Jenkins接管SVN仓库的代码构建与部署流程 #### SVN钩子配置 为了使Jenkins能够自动响应SVN的变化,在VM2机器上的`/data/svn/server/hooks`路径下,通过复制模板文件来创建实际使用的hook脚本,并赋予其可执行权限。具体命令如下所示[^4]: ```bash cd /data/svn/server/hooks cp post-commit.tmpl post-commit chmod 755 post-commit ``` 在`post-commit`脚本的最后一行添加触发Jenkins构建的任务调用语句,该语句利用curl工具向指定URL发送HTTP POST请求以启动远程构建作业。需要注意的是,这里的URL应替换为真实的Jenkins地址及对应的Job名称编码后的字符串形式;同时还需要供有效的认证信息以便成功发起请求。 对于示例中的情况,当有人交更改到SVN库时,会立即通知位于IP `192.168.1.16` 的Jenkins实例去运行名为“发布”的job,而这个job将会负责处理新版本的应用程序打包工作: ```bash /usr/bin/curl -X post -v -u AutoDeploy:123456 \ http://192.168.1.16:8080/job/%E5%8F%91%E5%B8%83/build?token=jenkins-xxx-ok456123789 ``` 另外,如果不需要邮件醒功能的话,可以选择注释掉或删除原有的mailer.py部分的内容。 #### Jenkins Job配置 确保Jenkins已经安装了Subversion插件之后,在新建Item页面选择Freestyle Project作为项目类型。接着按照以下步骤完成基本设置: - **Source Code Management**: 设置源码管理方式为Subversion (SVN),输入完整的Repository URL指向目标SVN存储库的位置。 - **Build Triggers**: 启用Poll SCM选项,定义定时表达式定期检查是否有新的修订版被推送上来。不过由于前面已经在SVN侧设置了即时触发机制,因此这里也可以留空不填。 - **Build Environment & Build Steps**: 添加必要的构建环境变量声明以及具体的编译指令集。比如针对Maven项目而言,可能只需要简单地执行mvn clean package即可实现整个应用的组装过程[^2]。 一旦上述准备工作全部就绪,每当开发人员向SVN交更新后,就会激活相应的CI流水线动作——即先拉取最新源码再尝试重新构建应用程序包,最终将其放置于预定位置等待进一步分发给生产环境使用[^1]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值