Automating project builds

What's the easiest way to get your documentation updates to your audience? If your current publishing process consists of time-consuming operations (such as manually triggering output builds, waiting for the builds to complete, validating whether there are any issues, then copying the output to a distribution site), those operations reduce your productivity and distract you from focusing on content creation. The effort involved likely also impacts how frequently your audience has access to updated content. Do you only update your content toward the end of a release, once a week, once a day, or every time you make changes? The answer likely relies on how much time you must spend to produce and publish your content. Ideally, you want that time to be as close to none as possible.

In this section, we'll look at how to set up an automated build system using the open-source Jenkins build management system. We'll also look at some custom scripts to enhance this system to support:

  • Scheduling builds of your output targets at custom intervals (for example, each day).
  • Compressing your output in a Zip file for easy transfer to development build areas.
  • Validating your builds and notifying you when warnings or errors occur.

To get started, let's take a look at the prerequisites for installing Jenkins.