首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在使用SVN提交后触发Buildbot中的构建器?

在使用SVN提交后触发Buildbot中的构建器,可以通过以下步骤实现:

  1. 确保已经安装和配置好SVN服务器和Buildbot。
  2. 在Buildbot的Master配置文件中,定义一个源代码库(Source)来监控SVN仓库的变化。可以使用buildbot.changes.SVNPoller来监控SVN提交。
  3. 在Master配置文件中,创建一个构建器(Builder),用于定义构建过程的脚本和命令。
  4. 配置构建器的触发条件,使其在SVN提交后执行。可以使用builder.py文件中的triggerable.Triggerable类,并将其绑定到构建器上。
  5. 在Buildbot的Master配置文件中,创建一个触发器(Trigger),用于在SVN提交后触发构建器的执行。可以使用changes.SVNPollerSetProperties方法来实现。

以下是一个示例的Buildbot的Master配置文件片段:

代码语言:txt
复制
c = BuildmasterConfig = {}

from buildbot.plugins import *

c['change_source'] = []
c['builders'] = []

# 定义一个SVN源代码库
svn_source = sources.SVN(
    baseURL='svn://example.com/myrepo',
    mode=sources.SVN.Update,
    username='your_username',
    password='your_password'
)

# 创建一个构建器
builder = util.BuilderConfig(
    name="my_builder",
    workernames=['worker1', 'worker2'],
    factory=util.BuildFactory(
        steps=[
            # 构建过程的脚本和命令
            steps.ShellCommand(command="make", haltOnFailure=True),
        ]
    )
)

# 添加构建器到builders列表
c['builders'].append(builder)

# 创建一个触发器,并绑定到构建器上
trigger = triggerable.Triggerable(
    name="svn_trigger",
    builderNames=["my_builder"]
)

# 创建一个SVN变化源,用于监控SVN提交
svn_poller = changes.SVNPoller(
    svnurl='svn://example.com/myrepo',
    username='your_username',
    password='your_password',
    project='my_project',
    pollinterval=60
)

# 设置触发器的属性,使其在SVN提交后触发构建器执行
svn_poller.SetProperties(trigger, "svn_property")

# 添加触发器到change_source列表
c['change_source'].append(trigger)

注意,上述示例仅为演示目的,实际配置可能需要根据具体环境和需求进行调整。另外,具体的SVN提交和Buildbot的配置细节请参考官方文档或相关文档资料。

关于腾讯云的相关产品,推荐使用腾讯云的代码托管服务-CodeCommit来代替SVN,该服务基于Git,并提供了与Buildbot的集成支持。您可以通过以下链接了解更多关于腾讯云CodeCommit的信息:腾讯云CodeCommit

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Jenkins +svn

    无事在家,闲得发慌,上周六面试华为的配置管理工程师,让我明白了在社会大行业里配置管理其实是个更为专业的岗位,涉及到软件开发的各个流程,数据的产生,规范的定义,代码的持续集成,基线管理,当然也涉及到供应链的一些东西,在工作中发现问题,解决问题,推动一些流程规范的制订,对流程中出现的问题进行修正等等。而我在原公司的配置管理更多是个兼职,是为软件工程师+配置管理工程师,特别是在软件部改革后,配置方向更多的边缘化,更多是DD会议召开,BUG发布及合并,代码审核数据汇总。也难怪配置管理会是一个兼职,软件上做的工作仅仅是配置管理(CM)这个岗位很小的一部分,也不可能花大价钱养一个人在这个岗位上了。

    02

    jenkins+maven+svn自动部署和发布(超详细,图文并茂)

    博主前几个月刚被忽悠到一家创业公司(主要是看上这个行业的前景),博主进来主要的工作是java web后台开发和android应用开发。就这样在这家公司熟悉了一个星期的业务之后,开始维护和开发项目了。有一天令我惊讶的事情发生了——我修改代码之后提交到svn,准备发布项目了,我就问我们老大发布的网址是什么?他的回答让我很惊讶,他说没网址(当时不知道他是不是没听懂我的意思),我就问你们平时怎么发布web项目的,他的回答把我雷到了,他说将本地编译的class通过FileZilla替换到服务器中的tomcat容器中相应的项目的对应目录,卧槽-有么有搞错,我第一次遇到有这么干的(我在想多人协作开发怎么搞啊、要是替换了class文件,但是忘记了提交svn,后面出问题了怎么办…),心里想完了,这都是什么技术部啊,这次被坑到这么个公司。我问老大这么干你们没出过问题么?老大回答以前出过问题,反正项目被他们搞得特别乱,一个项目有N多个备份的版本,而且不知道哪个是正确的,听到这话心塞。没办法为了防止我后面遇到类似的问题,只能自己来搭建jenkins环境啊,自动部署保证svn的代码和tomcat中的项目时刻对应上。好了废话说的有点多,直接上如何部署吧

    02

    SVN利用钩子post-commit自动更新到线上测试服务器

    使用svnadmin create 创建一个版本库: svnadmin create cqzn_server 每个版本库的目录下有一个hooks目录: # ls /home/svn/cqzn_server/ conf dav db format hooks locks README.txt 在每个版本库下有hooks文件夹,里面有很多钩子程序: # ls -l hooks/ total 40 -rwxr-xr-x 1 www-data www-data 332 2010-05-30 16:47 post-commit -rw-r–r– 1 www-data www-data 2000 2010-05-30 15:22 post-commit.tmpl -rw-r–r– 1 www-data www-data 1663 2010-05-29 23:28 post-lock.tmpl -rw-r–r– 1 www-data www-data 2322 2010-05-29 23:28 post-revprop-change.tmpl -rw-r–r– 1 www-data www-data 1592 2010-05-29 23:28 post-unlock.tmpl -rw-r–r– 1 www-data www-data 3488 2010-05-29 23:28 pre-commit.tmpl -rw-r–r– 1 www-data www-data 2410 2010-05-29 23:28 pre-lock.tmpl -rw-r–r– 1 www-data www-data 2796 2010-05-29 23:28 pre-revprop-change.tmpl -rw-r–r– 1 www-data www-data 2100 2010-05-29 23:28 pre-unlock.tmpl -rw-r–r– 1 www-data www-data 2830 2010-05-29 23:28 start-commit.tmpl

    01
    领券