01. Anatomy of the Build
02. Tip - First Make Sure Your Application Build Process Works Outside of Jenkins
03. Manually Building with Maven and Then Running the Sample App
04. Porting Manual Expertise to Automated
05. Creating a First Freestyle Project (aka Job) and Configuring It to Clone Our Git Repo
06. Testing if Jenkins Can Clone the Git Repo
07. Fixing the Default Branch Specifier to Use Main Not the Default of Master
08. Configuring a Shell Build Step to Run the Maven Wrapper to Compile Our App
09. The Workspace Is Where Jenkins Performs Disk Based Build Operations
10. Never Forget the Console Output Is Your Troubleshooting Best Friend
11. Packaging Our App While Viewing Build Output in Real Time with the Scrolling Console
12. Navigating Build Aka Run History without Losing Context
13. Capturing App Build Artifacts- In This Case a Jar File
14. Configuring Our Job to Capture Rich Unit Test Results
15. Drilling into the Captured Unit Test Overview
16. Viewing Test Result Trends and Stepping through the History of Build Overviews
17. Aborting a Long Running Build and the Legend of Balls and Weather
18. Visualizing Common Build Triggers - Push, Pull, and Scheduled
19. Configuring Our Job to Trigger by Polling for Changes
20. Testing Our Polling Trigger by Pushing a Broken Test
21. Perusing Polling Logs after Triggering an Automated Build
22. Surfacing Test Failures and Troubleshooting What Went Wrong
23. Zippering Git Commit History with Build History - an Invaluable, Automatic Changelog