So far, we have pretty much automated our entire build, including testing, on our local computer. Unfortunately, we still need to manually start the automation process and that is not something we can enforce before a commit. Luckily, we can kick off the build process on a commit from our server. This is where Jenkins comes in to play. With Jenkins, we can poll for changes on our Git repository and run the build process automatically. When a build fails, Jenkins can send an email to the entire team to let them know someone broke the build and that it should be fixed. In this chapter, we are going to explore Jenkins in more depth to automate our build upon every commit.
Jenkins has a ton of settings, options, and plugins and some plugins have another ton of settings and options. Not to mention that Jenkins and plugins keep changing with each new update....