SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы
НазадМетки: buildbot
There are a variety of ChangeSource classes available, some of which are meant to be used in conjunction with other tools to deliver Change events from the VC repository to the buildmaster.
As a quick guide, here is a list of VC systems and the ChangeSources that might be useful with them. Note that some of these modules are in Buildbot’s master/contrib directory, meaning that they have been offered by other users in hopes they may be useful, and might require some additional work to make them functional.
CVS
CVSMaildirSource (watching mail sent by master/contrib/buildbot_cvs_mail.py script)
PBChangeSource (listening for connections from buildbot sendchange run in a loginfo script)
PBChangeSource (listening for connections from a long-running master/contrib/viewcvspoll.py polling process which examines the ViewCVS database directly)
Change Hooks in WebStatus
SVN
PBChangeSource (listening for connections from master/contrib/svn_buildbot.py run in a postcommit script)
PBChangeSource (listening for connections from a long-running master/contrib/svn_watcher.py or master/contrib/svnpoller.py polling process
SVNCommitEmailMaildirSource (watching for email sent by commit-email.pl)
SVNPoller (polling the SVN repository)
Change Hooks in WebStatus
Darcs
PBChangeSource (listening for connections from master/contrib/darcs_buildbot.py in a commit script)
Change Hooks in WebStatus
Mercurial
Change Hooks in WebStatus (including master/contrib/hgbuildbot.py, configurable in a changegroup hook)
BitBucket change hook (specifically designed for BitBucket notifications, but requiring a publicly-accessible WebStatus)
HgPoller (polling a remote Mercurial repository)
BitbucketPullrequestPoller (polling Bitbucket for pull requests)
Mail-parsing ChangeSources, though there are no ready-to-use recipes
Bzr (the newer Bazaar)
PBChangeSource (listening for connections from master/contrib/bzr_buildbot.py run in a post-change-branch-tip or commit hook)
BzrPoller (polling the Bzr repository)
Change Hooks in WebStatus
Git
PBChangeSource (listening for connections from master/contrib/git_buildbot.py run in the post-receive hook)
PBChangeSource (listening for connections from master/contrib/github_buildbot.py, which listens for notifications from GitHub)
Change Hooks in WebStatus
GitHub change hook (specifically designed for GitHub notifications, but requiring a publicly-accessible WebStatus)
BitBucket change hook (specifically designed for BitBucket notifications, but requiring a publicly-accessible WebStatus)
GitPoller (polling a remote Git repository)
GitHubPullrequestPoller (polling GitHub API for pull requests)
BitbucketPullrequestPoller (polling Bitbucket for pull requests)
Repo/Gerrit
GerritChangeSource connects to Gerrit via SSH to get a live stream of changes
GerritEventLogPoller connects to Gerrit via HTTP with the help of the plugin events-log
Monotone
PBChangeSource (listening for connections from monotone-buildbot.lua, which is available with Monotone)
All VC systems can be driven by a PBChangeSource and the buildbot sendchange tool run from some form of commit script. If you write an email parsing function, they can also all be driven by a suitable mail-parsing source. Additionally, handlers for web-based notification (i.e. from GitHub) can be used with WebStatus’ change_hook module. The interface is simple, so adding your own handlers (and sharing!) should be a breeze.
See Change Source Index for a full list of change sources.