Build jobs are the basic currency of a Continuous Integration server.
A build job is a particular way of compiling, testing, packaging, deploying or otherwise doing something with your project. Build jobs come in a variety of forms; you may want to compile and unit test your application, report on code quality metrics related to the source code, generate documentation, bundle up an application for a release, deploy it to production, run an automated smoke test, or do any number of other similar tasks.
A software project will usually have several related build jobs. For example, you might choose to start off with a dedicated build job that runs all of your unit tests. If these pass, you might proceed to a build job that executes longer-running integration tests, runs code quality metrics, or generates technical documentation, before finally bundling up your web application and deploying it to a test server.
In Jenkins, build jobs are easy to set up. In this chapter, we will look at the main types of build jobs and how to configure them. In later chapters, we will take things further, looking at how to organize multiple build jobs, how to set up build promotion pipelines, and how to automate the deployment process. But, for now, let’s start off with how to set up your basic build jobs in Jenkins.