Recently I’ve been looking at Buildbot again. It’s been a while, bu it’s nice to poke at it again. There’s various things I want to do (like maybe finally finish my IRC praise/blame patch ?), but for starters I wanted to get some buildbots set up for pychecker, moap and morituri.
So that involved finding my old buildbot hacking notes so I can jumpstart a little better. And I started thinking about documentation.
I’ve always felt I’d like to write more documentation because it’s a critical piece of success for a project. But at the same time, there’s a simple problem when I want to write documentation: you need the mindset of a beginner to write good documentation. So it becomes a chicken-and-egg problem: in the beginning you don’t know the project well enough to write the documentation; and as soon as you learn more about the project, you lose the capacity to ask the right questions the documentation needs to answer.
It is a special kind of skill to get into that mindset and be able to write from that perspective of a beginner. I don’t think I have it.
But today I realized that I am now in the perfect situation when it comes to Buildbot. I know enough of how buildbot works conceptually from the past when I hacked on it, but it’s been changed enough and I’ve forgotten enough that I actually need to go through the motions again to get my knowledge back. So, from a user point of view, I’m back to being a newbie.
So, I decided I’d take advantage of the situation and write some tutorials on how to use Buildbot. I’ve got two sections written up now and I’m ready to have people give me feedback.
The first tutorial focuses on the quickest ‘this works’ experience you can have, without touching the default configuration at all.
The second tutorial gives a quick tour of some of the features of buildbot by customizing the configuration, but without writing any code.
I plan to write further chunks that show how to set up a real build master for a project and integrate with the change notification, how to set up depending builds, and how to do some actual coding for specific build steps.
If you have some spare time and you’re interested in continuous integration, you could do worse than provide me some feedback on these tutorials.