Getting Started with Jenkins
Jenkins is widely used to automate tasks in software development and beyond. This course will teach you how to use Jenkins to automate your own monotonous, repetitive tasks so you can focus on more important work!
What you'll learn
Manually deploying software is both painful and rife with inefficiencies. In this course, Getting Started with Jenkins, you’ll learn to automate mundane, repetitive tasks with Jenkins. First, you’ll set up a Jenkins instance. Next, you’ll learn how to automate tasks with both Freestyle and Pipeline job types. Finally, you’ll explore practical examples of compiling, testing, packaging, and deploying software. When you’re finished with this course, you’ll have the skills and knowledge of Jenkins needed to markedly boost your productivity!
Table of contents
- Jenkins V2 Is a Marked Improvement over V1 2m
- Should I Use the LTS or Weekly Jenkins Release? 6m
- Understanding High Level Installation Routes and Downloading jenkins.war 2m
- Installing AdoptOpenJDK 3m
- java -jar jenkins.war - Then Unlock the Protected Setup Wizard with the InitialAdminPassword 2m
- Setup Wizard - Installing Plugins 1m
- Setup Wizard - Creating the First Admin User 1m
- Setup Wizard - What Is the Jenkins URL? 1m
- Manage Jenkins: Changing Configuration after Setup - for Example, Creating a User 5m
- Spelunking JENKINS_HOME: How to Reset Your Jenkins Install and Back It Up 3m
- Docker Rocks for Learning Jenkins Thanks to the Official jenkins/jenkins Images - Setup is Effortless 3m
- Using docker-compose up to Spin up Jenkins and a MailHog Test Email Server! 3m
- Clean up and Recreation Is a Breeze with docker-compose 3m
- Anatomy of the Build 2m
- Tip - First Make Sure Your Application Build Process Works Outside of Jenkins 3m
- Manually Building with Maven and Then Running the Sample App 7m
- Porting Manual Expertise to Automated 1m
- Creating a First Freestyle Project (aka Job) and Configuring It to Clone Our Git Repo 3m
- Testing if Jenkins Can Clone the Git Repo 3m
- Fixing the Default Branch Specifier to Use Main Not the Default of Master 2m
- Configuring a Shell Build Step to Run the Maven Wrapper to Compile Our App 2m
- The Workspace Is Where Jenkins Performs Disk Based Build Operations 5m
- Never Forget the Console Output Is Your Troubleshooting Best Friend 1m
- Packaging Our App While Viewing Build Output in Real Time with the Scrolling Console 1m
- Navigating Build Aka Run History without Losing Context 2m
- Capturing App Build Artifacts: In This Case a Jar File 6m
- Configuring Our Job to Capture Rich Unit Test Results 2m
- Drilling into the Captured Unit Test Overview 2m
- Viewing Test Result Trends and Stepping through the History of Build Overviews 3m
- Aborting a Long Running Build and the Legend of Balls and Weather 5m
- Visualizing Common Build Triggers - Push, Pull, and Scheduled 2m
- Configuring Our Job to Trigger by Polling for Changes 3m
- Testing Our Polling Trigger by Pushing a Broken Test 4m
- Perusing Polling Logs after Triggering an Automated Build 3m
- Surfacing Test Failures and Troubleshooting What Went Wrong 2m
- Zippering Git Commit History with Build History - an Invaluable, Automatic Changelog 3m
- Reflecting on Freestyle Projects Aka the Toilet Paper Form 4m
- Jenkins + docker-compose Makes It Incredibly Easy to Run Instances Side by Side on the Same Host 2m
- Enabling the Dark Theme 2m
- Jobs Are Backed by XML Config Files 8m
- Changing config.xml on Disk Then Reloading Configuration from Disk 2m
- Pipeline Jobs Also Have a config.xml 2m
- Git Clone in a Declarative Pipeline 5m
- Running the Pipeline to Test Cloning Our Git Repo 3m
- Using the Built-in Pipeline Syntax Generator to Fix Our Git Clone Failure 4m
- Shelling out and Further Pipeline Syntax Help 3m
- Pipeline Output Is Granular to Pinpoint Failures and a Function of Pipeline Durability 6m
- Declarative Conditions with Post and Its Nested Condition Blocks of Steps 6m
- Two Stages Instead of One 3m
- A Plugin to Convert Freestyle to Pipeline and a Side by Side XML Comparison 2m
- Freestyle, Pipeline, Jenkinsfile 1m
- What if You Could Develop Pipeline Scripts Outside Jenkins, in VSCode? 10m
- Adding Triggers to the Pipeline 3m
- Configuring an Email Server in Jenkins to Send "People Triggers" (aka Notifications) 3m
- Appreciating the Power of High Level Post Conditions and the Drawbacks 4m
- Using the Pipeline Global Variables Reference to Find Build Data to Send in an Email Notification 2m
- Coding up the Post Changed Email Notification 2m
- Always Sending the Email Notification 5m
- Rapidly Simulating Build Failures and Successes to Verify Sending Email on Changed Build Status Only 3m
- Fixing the Broken Test and Observing an Email Notification of Success 2m
- Pivoting to a Jenkinsfile and Communicating via SCM 2m
- A Jenkinsfile Approach for Our Spring Petclinic Pipeline 2m
- Creating a Pipeline with a Pointer to Our GitHub Repository 1m
- Dynamic Decentralized Pipeline Discovery with GitHub Organization Scanning 3m