- Table Of Contents
- 1. Buildbot Tutorial
- 2. Buildbot Manual
- 2.1. Introduction
- 2.2. Installation
- 2.3. Concepts
- 2.4. Secret Management
- 2.5. Configuration
- 2.5.1. Configuring Buildbot
- 2.5.2. Global Configuration
- 2.5.3. Change Sources and Changes
- 2.5.5. Schedulers
- 2.5.6. Workers
- 2.5.7. Builder Configuration
- 2.5.8. Projects
- 2.5.9. Build Factories
- 2.5.10. Build Sets
- 2.5.11. Properties
- 2.5.12. Build Steps
- 2.5.12.1. Parameters Common to all Steps
- 2.5.12.2. Common Parameters of source checkout operations
- 2.5.12.3. Bzr
- 2.5.12.4. CVS
- 2.5.12.5. Darcs
- 2.5.12.6. Gerrit
- 2.5.12.7. GitHub
- 2.5.12.8. GitLab
- 2.5.12.9. Git
- 2.5.12.10. Mercurial
- 2.5.12.11. Monotone
- 2.5.12.12. P4
- 2.5.12.13. Repo
- 2.5.12.14. SVN
- 2.5.12.15. GitCommit
- 2.5.12.16. GitTag
- 2.5.12.17. GitPush
- 2.5.12.18. GitDiffInfo
- 2.5.12.19. ShellCommand
- 2.5.12.20. Shell Sequence
- 2.5.12.21. Compile
- 2.5.12.21. Compile
- 2.5.12.22. Configure
- 2.5.12.23. CMake
- 2.5.12.24. Visual C++
- 2.5.12.25. Cppcheck
- 2.5.12.26. Robocopy
- 2.5.12.27. Test
- 2.5.12.28. TreeSize
- 2.5.12.29. PerlModuleTest
- 2.5.12.30. SubunitShellCommand
- 2.5.12.31. HLint
- 2.5.12.32. MaxQ
- 2.5.12.33. Trigger
- 2.5.12.34. BuildEPYDoc
- 2.5.12.35. PyFlakes
- 2.5.12.36. Sphinx
- 2.5.12.37. PyLint
- 2.5.12.38. Trial
- 2.5.12.39. RemovePYCs
- 2.5.12.40. HTTP Requests
- 2.5.12.41. Worker Filesystem Steps
- 2.5.12.42. Transferring Files
- 2.5.12.44. MasterShellCommand
- 2.5.12.45. LogRenderable
- 2.5.12.47. SetProperty
- 2.5.12.46. Assert
- 2.5.12.48. SetProperties
- 2.5.12.49. SetPropertyFromCommand
- 2.5.12.51. RpmBuild
- 2.5.12.52. RpmLint
- 2.5.12.53. MockBuildSRPM Step
- 2.5.12.54. MockRebuild
- 2.5.12.55. DebPbuilder
- 2.5.12.57. DebLintian
- 2.5.13. Interlocks
- 2.5.14. Report Generators
- 2.5.15. Reporters
- 2.5.15.1. ReporterBase
- 2.5.15.2. BitbucketServerCoreAPIStatusPush
- 2.5.15.2. BitbucketServerCoreAPIStatusPush
- 2.5.15.3. BitbucketServerPRCommentPush
- 2.5.15.4. BitbucketServerStatusPush
- 2.5.15.6. GerritStatusPush
- 2.5.15.5. BitbucketStatusPush
- 2.5.15.7. GerritVerifyStatusPush
- 2.5.15.9. GitHubStatusPush
- 2.5.15.10. GitLabStatusPush
- 2.5.15.11. HttpStatusPush
- 2.5.15.12. IRC Bot
- 2.5.15.13. MailNotifier
- 2.5.15.14. PushjetNotifier
- 2.5.15.15. PushoverNotifier
- 2.5.15.16. Telegram Bot
- 2.5.15.17. ZulipStatusPush
- 2.5.16. Web Server
- 2.5.17. Change Hooks
- 2.5.18. Custom Services
- 2.5.19. DbConfig
- 2.5.20. Configurators
- 2.5.21. Manhole
- 2.5.22. Multimaster
- 2.5.23. Multiple-Codebase Builds
- 2.5.24. Miscellaneous Configuration
- 2.5.25. Testing Utilities
- 2.6. Customization
- 2.7. Command-line Tool
- 2.8. Resources
- 2.9. Optimization
- 2.10. Plugin Infrastructure in Buildbot
- 2.11. Deployment
- 2.12. Upgrading
- 3. Buildbot Development
- 3.1. Development Quick-start
- 3.2. Submitting Pull Requests
- 3.3. General Documents
- 3.3.1. Master Organization
- 3.3.2. Buildbot Coding Style
- 3.3.3. Buildbot’s Test Suite
- 3.3.4. Configuration
- 3.3.6. Writing Schedulers
- 3.3.7. Utilities
- 3.3.8. Build Result Codes
- 3.3.9. WWW Server
- 3.3.10. Javascript Data Module
- 3.3.11. Base web application
- 3.3.12. Authentication
- 3.3.13. Authorization
- 3.3.14. Master-Worker API
- 3.3.15. Master-Worker connection with MessagePack over WebSocket protocol
- 3.3.16. Claiming Build Requests
- 3.3.17. String Encodings
- 3.3.18. Metrics
- 3.3.19. Secrets
- 3.3.22. Statistics Service
- 3.3.23. How to package Buildbot plugins
- 3.4. REST API
- 3.5. REST API Specification
- 3.5.1. builder
- 3.5.2. buildrequest
- 3.5.3. build
- 3.5.4. buildset
- 3.5.5. build_data
- 3.5.6. change
- 3.5.7. changesource
- 3.5.8. forcescheduler
- 3.5.9. identifier
- 3.5.10. logchunk
- 3.5.11. log
- 3.5.12. master
- 3.5.13. patch
- 3.5.14. project
- 3.5.15. rootlink
- 3.5.16. scheduler
- 3.5.17. sourcedproperties
- 3.5.18. sourcestamp
- 3.5.19. spec
- 3.5.20. step
- 3.5.21. worker
- 3.5.22. test_result
- 3.5.23. testresultset
- 3.5.24. Raw endpoints
- 3.6. Data API
- 3.7. Database
- 3.8.1. Buildsets connector
- 3.8.2. Buildrequests connector
- 3.8.3. Builders connector
- 3.8.4. Builds connector
- 3.8.5. Build data connector
- 3.8.6. Steps connector
- 3.8.7. Logs connector
- 3.8.8. Changes connector
- 3.8.9. Change sources connector
- 3.8.10. Schedulers connector
- 3.8.11. Source stamps connector
- 3.8.12. State connector
- 3.8.13. Users connector
- 3.8.14. Masters connector
- 3.8.15. Workers connector
- 3.8. Database connectors API
- 3.9. Messaging and Queues
- 3.10. Classes
- 3.10.1. Builds
- 3.10.2. Workers
- 3.10.3. BuildFactory
- 3.10.4. Change Sources
- 3.10.5. RemoteCommands
- 3.10.6. BuildSteps
- 3.10.7. BaseScheduler
- 3.10.8. ForceScheduler
- 3.10.9. IRenderable
- 3.10.10. IProperties
- 3.10.11. IConfigurator
- 3.10.12. ResultSpecs
- 3.10.13. Protocols
- 3.10.14. WorkerManager
- 3.10.15. Logs
- 3.10.16. LogObservers
- 3.10.17. Authentication
- 3.10.18. Avatars
- 3.10.19. Web Server Classes
- 4. Release Notes
- 6. API Indices
- Release Notes
- 5.1. Buildbot 2.10.5 ( 2021-04-05 )
- 5.29. Release Notes for Buildbot 1.8.2 ( 2019-05-22 )
- 5.42. Release Notes for Buildbot 0.9.15.post1 ( 2018-01-07 )
- 5.60. Release Notes for Buildbot 0.9.1
- 5.61. Release Notes for Buildbot 0.9.0
- 5.62. Release Notes for Buildbot 0.9.0rc4
- 5.63. Release Notes for Buildbot 0.9.0rc3
- 5.64. Release Notes for Buildbot 0.9.0rc2
- 5.65. Release Notes for Buildbot 0.9.0rc1
- 5.66. Release Notes for Buildbot 0.9.0b9
- 5.67. Release Notes for Buildbot 0.9.0b8
- 5.68. Release Notes for Buildbot 0.9.0b7
- 5.69. Release Notes for Buildbot 0.9.0b6
- 5.70. Release Notes for Buildbot 0.9.0b5
- 5.71. Release Notes for Buildbot 0.9.0b4
- 5.72. Release Notes for Buildbot 0.9.0b3
- 5.73. Release Notes for Buildbot 0.9.0b2
- 5.74. Release Notes for Buildbot 0.9.0b1
- 5.75. Release Notes for Buildbot 0.8.11
- 5.76. Release Notes for Buildbot 0.8.10
- 5.77. Release Notes for Buildbot 0.8.9
- 5.78. Release Notes for Buildbot v0.8.8
- 5.79. Release Notes for Buildbot v0.8.7
- 5.80. Release Notes for Buildbot v0.8.6p1
- Other
5.29. Release Notes for Buildbot 1.8.2 ( 2019-05-22 )
Caution
Buildbot no longer supports Python 2.7 on the Buildbot master.
5.29. Release Notes for Buildbot 1.8.2
( 2019-05-22
)
5.29.1. Bug fixes
Fix vulnerability in OAuth where user-submitted authorization token was used for authentication (https://github.com/buildbot/buildbot/wiki/OAuth-vulnerability-in-using-submitted-authorization-token-for-authentication) Thanks to Phillip Kuhrt for reporting it.
5.30. Release Notes for Buildbot 1.8.1
( 2019-02-02
)
5.30.1. Bug fixes
Fix CRLF injection vulnerability with validating user provided redirect parameters (https://github.com/buildbot/buildbot/wiki/CRLF-injection-in-Buildbot-login-and-logout-redirect-code) Thanks to
mik317
andmariadb
for reporting it.
5.31. Release Notes for Buildbot 1.8.0
( 2019-01-20
)
5.31.1. Bug fixes
Fix a regression present in v1.7.0 which caused buildrequests waiting for a lock that got released by an unrelated build not be scheduled (issue #4491)
Don’t run builds that request an instance with incompatible properties on Docker, Marathon and OpenStack latent workers.
Gitpoller now fetches only branches that are known to exist on remote. Non-existing branches are quietly ignored.
The demo repo in sample configuration files and the tutorial is now fetched via
https:
instead ofgit:
to make life easier for those behind firewalls and/or using proxies.buildbot sendchange has been fixed on Python 3 (issue #4138)
5.31.2. Features
Add a
KubeLatentWorker
to launch workers into a kubernetes clusterSimplify/automate configuration of worker as Windows service - eliminate manual configuration of Log on as a service
5.31.3. Deprecations and Removals
The deprecated
BuildMaster.addBuildset
method has been removed. UseBuildMaster.data.updates.addBuildset
instead.The deprecated
BuildMaster.addChange
method has been removed. UseBuildMaster.data.updates.addChange
instead.buildbot
package now requires Twisted versions >= 17.9.0. This is required for Python 3 support. Earlier versions of Twisted are not supported.
5.32. Release Notes for Buildbot 1.7.0
( 2018-12-21
)
5.32.1. Bug fixes
Fixed JSON decoding error when sending build properties to www change hooks on Python 3.
Buildbot no longer attempts to start builds that it can prove will have unsatisfied locks.
Don’t run builds that request images or sizes on instances started with different images or sizes.
5.32.2. Features
The Buildbot master Docker image at https://hub.docker.com/r/buildbot/ has been upgraded to use Python 3.7 by default.
Builder page has been improved with a smoothed build times plot, and a new success rate plot.
Allow the Buildbot master initial start timeout to be configurable.
An API to check whether an already started instance of a latent worker is compatible with what’s required by a build that is about to be started.
Add support for v2 of the Vault key-value secret engine in the SecretInVault secret provider.
5.32.3. Deprecations and Removals
Build.canStartWithWorkerForBuilder static method has been made private and renamed to _canAcquireLocks.
The Buildbot master Docker image based on Python 2.7 has been removed in favor of a Python 3.7 based image.
Builder.canStartWithWorkerForBuilder method has been removed. Use Builder.canStartBuild.
5.33. Release Notes for Buildbot 1.6.0
( 2018-11-16
)
5.33.1. Bug fixes
Fixed missing buildrequest owners in the builder page (issue #4207, issue #3904)
Fixed display of the buildrequest number badge text in the builder page when on hover.
Fix usage of master paths when doing Git operations on worker (issue #4268)
5.33.2. Improved Documentation
Misc improvement in Git source build step documentation.
Improve documentation of AbstractLatentWorker.
Improve the documentation of the Buildbot concepts by removing unneeded details to other pages.
5.33.3. Features
Added a page that lists all pending buildrequests (issue #4239)
Builder page now has a chart displaying the evolution of build times over time
Improved FileUpload efficiency (issue #3709)
Add method
getResponsibleUsersForBuild
inNotifierBase
so that users can override recipients, for example to skip authors of changes.Add define parameter to RpmBuild to specify additional –define parameters.
Added SSL proxy capability to base web application’s developer test setup (
gulp dev proxy --host the-buildbot-host --secure
).
5.33.4. Deprecations and Removals
The Material design Web UI has been removed as unmaintained. It may be brought back if a maintainer steps up.
5.34. Release Notes for Buildbot 1.5.0
( 2018-10-09
)
5.34.1. Bug fixes
Fix the umask parameter example to make it work with both Python 2.x and 3.x.
Fix build-change association for multi-codebase builds in the console view..
Fixed builders page doesn’t list workers in multi-master configuration (issue #4326)
Restricted groups added by
GitHubAuth
’sgetTeamsMembership
option to only those teams to which the user belongs. Previously, groups were added for all teams for all organizations to which the user belongs.Fix ‘Show old workers’ combo behavior.
5.34.2. Features
GitHub teams added to a user’s
groups
byGitHubAuth
’sgetTeamsMembership
option are now added by slug as well as by name. This means a team named “Bot Builders” in the organization “buildbot” will be added as bothbuildbot/Bot Builders
andbuildbot/bot-builders
.Make
urlText
renderable for theFileUpload
build step.Added
noticeOnChannel
option toIRC
to send notices instead of messages to channels. This was an option in v0.8.x and removed in v0.9.0, which defaulted to sending notices. The v0.8.x default of sending messages is now restored.
5.34.3. Reverts
Reverted: Fix git submodule support when using sshPrivateKey and sshHostKey because it broke other use cases (issue #4316) In order to have this feature to work, you need to keep your master in 1.4.0, and make sure your worker
buildbot.tac
are installed in the same path as your master.
5.35. Release Notes for Buildbot 1.4.0
( 2018-09-02
)
5.35.1. Bug fixes
Fix Build.getUrl() to not ignore virtual builders.
Fix git submodule support when using sshPrivateKey and sshHostKey settings by passing ssh data as absolute, not relative paths.
Fixed
P4
for change in latest version of p4 login -p.buildbot.reporters.irc.IrcStatusBot
no longer encodes messages before passing them on to methods of its Twisted base class to avoid posting therepr()
of a bytes object when running on Python 3.
5.35.2. Features
Added new
GitPush
step to perform git push operations.Objects returned by Renderer now are able to pass extra arguments to the rendered function via withArgs method.
5.35.3. Test Suite
Test suite has been improved for readability by adding a lot of
inlineCallbacks
Fixed tests which didn’t wait for
assertFailure
’s returned deferred.The test suite now runs on Python 3.7 (mostly deprecation warnings from dependencies shut down)
5.36. Release Notes for Buildbot 1.3.0
( 2018-07-13
)
5.36.1. Bug fixes
buildbot-worker docker image no longer use pidfile. This allows to auto-restart a docker worker upon crash.
GitLab v3 API is deprecated and has been removed from http://gitlab.com, so we now use v4. (issue #4143)
5.36.2. Features
-
Git
now supports sshHostKey parameter to specify ssh public host key for fetch operations.-
Git
now supports sshPrivateKey parameter to specify private ssh key for fetch operations.-
GitPoller
now supports sshHostKey parameter to specify ssh public host key for fetch operations. This feature is supported on git 2.3 and newer.-
GitPoller
now supports sshPrivateKey parameter to specify private ssh key for fetch operations. This feature is supported on git 2.3 and newer.Github hook token validation now uses
hmac.compare_digest()
for better security
5.36.3. Deprecations and Removals
Removed support for GitLab v3 API ( GitLab < 9 ).
5.37. Release Notes for Buildbot 1.2.0
( 2018-06-10
)
5.37.1. Bug fixes
Don’t schedule a build when a GitLab merge request is deleted or edited (issue #3635)
Add GitLab source step; using it, we now handle GitLab merge requests from forks properly (issue #4107)
Fixed a bug in
MailNotifier
’screateEmail
method when called with the default builds value which resulted in mail not being sent.Fixed a Github crash that happened on Pull Requests, triggered by Github Web-hooks. The json sent by the API does not contain a commit message. In github.py this causes a crash, resulting into response 500 sent back to Github and building failure.
Speed up generation of api/v2/builders by an order of magnitude. (issue #3396).
5.37.2. Improved Documentation
Added
examples/gitlab.cfg
to demonstrate integrating Buildbot with GitLab.
5.37.3. Features
ForceScheduler Parameters now support an
autopopulate
parameter.ForceScheduler Parameters
ChoiceParameter
now correctly supports thestrict
parameter, by allowing free text entry if strict is False.Allow the remote ref to be specified in the GitHub hook configuration (issue #3998)
Added callable to p4 source that allows client code to resolve the p4 user and workspace into a more complete author. Default behaviour is a lambda that simply returns the original supplied who. This callable happens after the existing regex is performed.
5.38. Release Notes for Buildbot 1.1.2
( 2018-05-15
)
5.38.1. Bug fixes
fix several multimaster issues by reverting issue #3911. re-opens issue #3783. (issue #4067, issue #4062, issue #4059)
Fix
MultipleFileUpload
to correctly compute path name when worker and master are on different OS (issue #4019)LDAP bytes/unicode handling has been fixed to work with Python 3. This means that LDAP authentication, REMOTE_USER authentication, and LDAP avatars now work on Python 3. In addition, an of bounds access when trying to load the value of an empty LDAP attribute has been fixed.
Removing
`no-select`
rules from places where they would prevent the user from selecting interesting text. (issue #3663)fix
`Maximum recursion depth exceeded
when lots of worker are trying to connect while master is starting or reconfiguring (issue #4042).
5.38.2. Improved Documentation
Document a minimal secure config for the Buildbot web interface. (issue #4026)
5.38.3. Features
The Dockerfile for the buildbot master image has been updated to use Alpine Linux 3.7. In addition, the Python requests module has been added to this image. This makes GitHub authentication work out of the box with this image. (issue #4039)
New steps for Visual Studio 2017 (VS2017, VC141, and MsBuild141).
The smoke tests have been changed to use ES2017 async and await keywords. This requires that the smoke tests run with Node 8 or higher. Use of async and await is recommended by the Protractor team: https://github.com/angular/protractor/blob/master/docs/async-await.md
Allow
urlText
to be set on a url linked to aDirectoryUpload
step (issue #3983)
5.39. Release Notes for Buildbot 1.1.1
( 2018-04-06
)
5.39.1. Bug fixes
Fix issue which marked all workers dis-configured in the database every 24h (issue #3981 issue #3956 issue #3970)
The
MailNotifier
no longer crashes when sending from/to email addresses with “Real Name” parts (e.g.,John Doe <john.doe@domain.tld>
).Corrected pluralization of text on landing page of the web UI
5.39.2. Improved Documentation
Corrected typo in description of libvirt
Update sample config to use preferred API
5.39.3. Misc Improvements
Home page now contains links to recently active builders
5.40. Release Notes for Buildbot 1.1.0
( 2018-03-10
)
5.40.1. Deprecations and Removals
Removed
ramlfication
as a dependency to build the docs and run the tests.
5.40.2. Bug fixes
Fixed buildrequests API doesn’t provide properties data (issue #3929)
Fix missing owner on builder build table (issue #3311)
Include hipchat as reporter.
Fix encoding issues of commands with Windows workers (issue #3799).
Fixed Relax builder name length restriction (issue #3413).
Fix the configuration order so that services can actually use secrets (issue #3985)
Partially fix Builder page should show the worker information (issue #3546).
5.40.3. Features
Added the
defaultProperties
parameter tobuilders
.When a build step has a log called “summary” (case-insensitive), the Build Summary page will sort that log first in the list of logs, and automatically expand it.
5.41. Release Notes for Buildbot 1.0.0
( 2018-02-11
)
Despite the major version bump, Buildbot 1.0.0 does not have major difference with the 0.9 series. 1.0.0 is rather the mark of API stability. Developers do not foresee a major API break in the next few years like we had for 0.8 to 0.9.
Starting with 1.0.0, Buildbot will follow semver versioning methodology.
5.41.1. Bug fixes
Cloning
Git
repository with submodules now works with Git < 1.7.6 instead of failing due to the use of the unsupported--force
option.GitHub
hook now properly creates a change in case of new tag or new branch.GitHub
changes will have thecategory
set totag
when a tag was pushed to easily distinguish from a branch push.Fixed issue with
Master.expireMasters
not always honoring itsforceHouseKeeping
parameter. (issue #3783)Fixed issue with steps not correctly ending in
CANCELLED
status when interrupted.Fix maximum recursion limit issue when transferring large files with
LocalWorker
(issue:3014).Added an argument to P4Source that allows users to provide a callable to convert Perforce branch and revision to a valid revlink URL. Perforce supplies a p4web server for resolving urls into change lists.
Fixed issue with
buildbot_pkg`
not hanging on yarn step on windows (issue #3890).Fix issue with
workers
notify_on_missing
not able to be configurable as a single string instead of list of string (issue #3913).Fixed Builder page should display worker name instead of id (issue #3901).
5.41.2. Features
Add capability to override the default UI settings (issue #3908)
All Reporters have been adapted to be able to use Secret.
SVNPoller
has been adapted to be able to use Secret.Implement support for Bitbucket Cloud webhook plugin in
BitbucketCloudEventHandler
The
owners
property now includes people associated with the changes of the build (issue #3904).The repo source step now syncs with the
--force-sync
flag which allows the sync to proceed when a source repo in the manifest has changed.Add support for compressing the repo source step cache tarball with
pigz
, a parallel gzip compressor.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论