Course Overview
Introduction to Jenkins is a two-day, lab intensive hands-on training course geared for experienced programmers who need to learn how to:
- Install and configure Jenkins in a servlet container
- Create Jenkins builds
- Configure and use Apache Ant and Apache Maven with Jenkins
- Use Jenkins to generate Java coding standards reports, code coverage reports, and change notices
- Use Jenkins to automatically deploy software into a testing environment.
Course Objectives
This course is approximately 50% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Working in a hands-on learning environment guided by our expert practitioner, students will explore:
- Introduction to Continuous Integration, Continuous Deployment and Jenkins-CI
- Installing and Running Jenkins
- Job Types in Jenkins
- Securing Jenkins
- Jenkins Plugin
- Distributed Builds with Jenkins
- Continuous Deployment and the Jenkins Pipeline
- Best Practices for Jenkins
Need different skills or topics? If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate. We offer additional Jenkins, CI/CD, Agile Development, DevOps, container, and other related topics that may be blended with this course for a track that best suits your needs.
Course Prerequisites
In order to be successful in this course, attending students are required to have practical Java programming experience to a basic level. This course can also be modified to suit the incoming skill levels or unique learning goals of your students and organization.
Please see the Related Courses tab for specific Pre-Requisite courses, Related Courses that offer similar skills or topics, and next-step Learning Path recommendations.
Course Agenda
Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most.
- Introduction to Continuous Integration, Continuous Deployment and Jenkins-CI
- Agile Development
- Agile Development (cont'd)
- What is Continuous Integration
- What is Continuous Integration (cont'd)
- What is Continous Integration (cont'd)
- Typical Setup for Continuous Integration
- Continuous Deployment
- Continuous Deployment (cont'd)
- DevOps and Continuous Deployment
- Continuous Deployment Challenges
- Jenkins Continuous Integration
- Jenkins Features
- Running Jenkins
- Installing and Running Jenkins
- Downloading and Installing Jenkins
- Running Jenkins as a Stand-Alone Application
- Running Jenkins as a Stand-Alone Application (cont'd)
- Running Jenkins on an Application Server
- The Jenkins Home Folder
- Installing Jenkins as a Windows Service
- Initial Configuration
- Configuration Wizard
- Configuration Wizard (cont'd)
- Configuring Tools
- Configuring Tools - Best Practices
- Job Types in Jenkins
- Different types of Jenkins Items
- Different types of Jenkins Items (cont'd)
- Configuring Source Code Management(SCM)
- Working with Subversion
- Working with Subversion (cont'd)
- Working with Git
- Storing Credentials
- Storing Credentials (cont'd)
- Build Triggers
- Schedule Build Jobs
- Polling the SCM
- Maven Build Steps
- Securing Jenkins
- Jenkins Security - Overview
- Jenkins Security
- Authentication
- Authorization
- Confidentiality
- Activating Security
- Configure Authentication
- Using Jenkins's Internal User Database
- Creating Users
- Authorization
- Matrix-Based Security
- Note – Create the Administrative User
- Project-based Matrix Authorization
- Project-Based Authentication
- Jenkins Plugin
- Introduction
- Jenkins Plugins - SCM
- Jenkins Plugins – Build and Test
- Jenkins Plugins – Analyzers
- Jenkins for Teams
- Installing Jenkins Plugins
- Distributed Builds with Jenkins
- Distributed Builds - Overview
- Distributed Builds – How?
- Slave Machines
- Configure Jenkins Master
- Configure Projects
- Continuous Deployment and the Jenkins Pipeline
- Continuous Deployment
- Continuous Deployment (cont'd)
- DevOps and Continuous Deployment
- Continuous Deployment Challenges
- Continuous Deployment with Jenkins
- The Pipeline Plugin
- The Pipeline Plugin (cont'd)
- Defining a Pipeline
- A Pipeline Example
- Pipeline Example (cont'd)
- Parallel Execution
- Creating a Pipeline
- Invoking the Pipeline
- Interacting with the Pipeline
- Best Practices for Jenkins
- Best Practices - Secure Jenkins
- Best Practices - Backups
- Best Practices - Reproducible Builds
- Best Practices - Testing and Reports
- Best Practices - Large Systems
- Best Practices - Distributed Jenkins
Course Materials
Student Materials: Each participant will receive a Student Guide with course notes, code samples, software tutorials, step-by-step written lab instructions, diagrams and related reference materials and resource links. Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work.
Hands-On Setup Made Simple! Our dedicated tech team will work with you to ensure our ‘easy-access’ cloud-based course environment is accessible, fully-tested and verified as ready to go well in advance of the course start date, ensuring a smooth start to class and effective learning experience for all participants. Please inquire for details and options.