buildbot: the continuous integration python framework
TRANSCRIPT
![Page 1: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/1.jpg)
BuildbotThe Continuous Integration
Python framework
![Page 2: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/2.jpg)
Steps
● Continuous Integration○ Definition○ Benefits
● Buildbot○ Architecture○ Views○ Configuration
● Conclusions, tips, Q&A, ...
![Page 3: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/3.jpg)
Who am I?
![Page 4: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/4.jpg)
CI: Definition by Martin Fowler
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.
http://goo.gl/FC9S4U 1/3
![Page 5: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/5.jpg)
CI: Benefits
● Reduce risk and time.● Reduce manual repetitive processes.● Create a version of software by a known,
reliable, proven and repeatable process versioning.
● Improve visibility of project status.● Achieve greater self-confidence and
security in the development team.
2/3
![Page 6: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/6.jpg)
CI: Why? How?
● Process quality.
● Product quality.
● People quality.
3/3
![Page 7: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/7.jpg)
Buildbot: System Architecture
1/2
BUILDSLAVESCHANGES = CHANGESOURCESSCHEDULERS
COMMANDS = BUILDERSFACTORY = STEPS
STATUS TARGETS
![Page 8: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/8.jpg)
Buildbot: Buildmaster Architecture
2/2
![Page 9: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/9.jpg)
View: Waterfall
1/3
![Page 10: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/10.jpg)
View: Build Slaves
2/3
![Page 11: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/11.jpg)
View: Console
3/3
![Page 12: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/12.jpg)
Config: HTML Templates = Jinja2
1/7
![Page 13: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/13.jpg)
Config: PROJECT IDENTITY + DB URL
2/7
SQLiteMySQL
PostgreSQL
![Page 14: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/14.jpg)
Config: BUILDSLAVES
3/7
![Page 15: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/15.jpg)
Config: CHANGESOURCES
4/7
![Page 16: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/16.jpg)
Config: SCHEDULERS
SingleBranchSchedulerAnyBranchSchedulerDependent SchedulerPeriodic SchedulerNightly SchedulerTry SchedulersTriggerable SchedulerNightlyTriggerable SchedulerForceScheduler Scheduler 5/7
![Page 17: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/17.jpg)
Config: BUILDERS
ShellCommand
BuildEPYDocSphinxPyFlakesPyLintFileExistsCopyDirectoryRemoveDirectoryMakeDirectory 6/7
![Page 18: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/18.jpg)
Config: STATUS TARGETS
WebStatusMailNotifierIRC Bot
StatusPush (to callback)HttpStatusPush (in json)GerritStatusPushGitHubStatus 7/7
![Page 19: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/19.jpg)
Conclusions, tips, Q&A, ...
● Display = Collaboration
● Python framework
● X branches * Y schedulers * Z status * N slaves
● A starting point: http://goo.gl/AcKoGZ
(https://github.com/carlessanagustin/buildbot-bootstrap)
![Page 20: Buildbot: The Continuous Integration Python framework](https://reader034.vdocument.in/reader034/viewer/2022042619/587063981a28ab48378b4731/html5/thumbnails/20.jpg)
Thank you very much@carlesanagustin
___@carlessanagustin.___
www.carlessanagustin.com
+34 655 4XX XXX