
Jenkins Training: Continuous Integration with Jenkins for Developers and DevOps Initiatives Courseware (WA2271)
This Jenkins training class provides training on the Jenkins Continuous Integration system. Students will install Jenkins on a Windows machine, create Jenkins jobs, set up Jenkins user authentication, and explore commonly used Jenkins plugins.
Publisher: Web Age Solutions
Benefits
- 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.
Outline
- Introduction to Continuous Integration, Continuous Delivery and Jenkins-CI
- Foundation of Agile AppDev
- XP Flow
- Extreme Programming
- Agile Development
- What is Continuous Integration
- Typical Setup for Continuous Integration
- Setup Notes for Continuous Integration
- CI with Artifact Management
- What is Continuous Delivery?
- Why Continuous Delivery?
- DevOps and Continuous Delivery
- Continuous Delivery Challenges
- Continuous Delivery vs Continuous Deployment
- Jenkins Continuous Integration
- Jenkins Features
- Running Jenkins
- Installing and Running Jenkins
- Downloading and Installing Jenkins
- Running Jenkins as a Stand-Alone Application
- Running Jenkins on an Application Server
- The Jenkins Home Folder
- Installing Jenkins as a Windows Service
- Initial Configuration
- Configuration Wizard
- Configuring Tools
- Configuring Tools - Best Practices
- Logging in Jenkins
- Custom Log Recorders
- Job Types in Jenkins
- Introduction
- Different types of Jenkins Items
- Configuring Source Code Management(SCM)
- Working with Subversion
- Working with Git
- Storing Credentials
- Service Accounts
- Build Triggers
- Schedule Build Jobs
- Polling the SCM
- Polling vs Triggers
- Maven Build Steps
- Advanced Jobs
- Parameterized Jobs
- Built-in Environment Variables
- Parameter Types
- Defining Parameters
- Using Parameters / Environment Variables
- Parameters in the config.xml File
- Launching a Build with Parameters
- Configuration Matrix
- Configuration Matrix — Example
- Defining Configuration Matrix
- Monitoring External Jobs
- Non-Java Jenkins Jobs
- Jenkins Jobs
- Non-Java Jobs
- Building .NET Projects with Jenkins
- Installing MSTest Plugin in Jenkins
- Configuring the MSBuild Plugin
- Creating a Jenkins Job and Specify a Build Step
- Specifying a Step for Running Unit Tests
- Adding a Step for Deploying the .NET Project
- Building a Node.js Application with Jenkins
- Node.js Plugin
- Provides direct Pipeline supportBuilding a C++ Project with Jenkins
- Executing PowerShell Scripts with Jenkins
- Continuous Delivery and the Jenkins Pipeline
- Continuous Delivery
- DevOps and Continuous Delivery
- Continuous Delivery Challenges
- Continuous Delivery with Jenkins
- The Pipeline Plugin
- Defining a Pipeline
- A Pipeline Example
- Parallel Execution
- Creating a Pipeline
- Invoking the Pipeline
- Interacting with the Pipeline
- Pipeline vs Traditional Jobs
- Groovy DSL
- What is Groovy
- Groovy in Jenkins
- Comments in Groovy
- Data Types
- Identifiers
- Variables
- def
- String Interpolation
- Operators
- Ranges
- Conditional Statements
- Loops
- Lists
- Maps
- Exception Handling
- Methods
- Closures
- this Keyword
- Classes
- Static Methods
- Inheritance
- Abstract Classes
- Interfaces
- Generics
- Jenkins Script Console
- Extending with Shared Libraries
- Directory Structure
- Sample Groovy Code
- Defining Shared Libraries
- Using Shared Libraries
- Same Shared Library Usage Code
- Defining Global Variables
- Securing Jenkins
- Jenkins Security - Overview
- Jenkins Security
- Authentication
- Authorization
- Confidentiality
- Activating Security
- Configure Authentication
- Using Jenkins's Internal User Database
- Creating Users
- Authorization
- Authorization
- Matrix-Based Security
- Note — Create the Administrative User
- Project-based Matrix Authorization
- Project-Based Authentication
- Role Based Access Control
- Jenkins Plugins
- 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?
- Agent Machines
- Configure Jenkins Master
- Configure Projects
- Containerized Builds
- Introduction to Docker
- Docker — Benefits
- Containers vs. Virtual Machines
- Running Jenkins in a Docker Container
- Delete Jenkins Container and Image
- Configuring Command Prompt to Connect to Docker
- Creating Docker Container from Jenkins Job
- Test Custom Image Created by a Jenkins Job
- The Jenkins Docker Build Step Plugin
- Ephemeral Build Agents
- The Jenkins API
- Remote Access API
- What you can do with the Jenkins Remote API
- Remote API and CSRF Protection — API Token
- Remote API and CSRF Protection — Crumb
- Configure Jobs to Support the Jenkins Remote API
- Making Remote API Calls
- Example - Advanced REST Client
- Example — cURL
- Jenkins CLI
- Configure Jenkins to use CLI
- Download and Use Jenkins CLI
- Scripting
- Introduction to Scripting
- Benefits of Scripting
- The Jenkins Script Console
- Calling Scripts using cURL
- Sample Scripts
- Calling Groovy Scripts from a Jenkins Job
- Jenkins API
- User Interface Options
- User Interface Options
- Customizing the UI with CSS
- The User Content Folder
- Using the User Content Folder and Simple Theme Plugin
- Writing a Jenkins Plugin
- Modify settings.xml
- Generate Boilerplate Code for Custom Jenkins Plugin
- Modify pom.xml
- Package and Deploy the Plugin
- The Blue Ocean Plugin
- Blue Ocean Plugin Features
- New modern user experience
- Advanced Pipeline visualizations with built-in failure diagnosis
- Branch and Pull Request awareness
- Personalized View
- Best Practices for Jenkins
- Secure Jenkins
- Users
- Backups
- Reproducible Builds
- Testing and Reports
- Large Systems
- Distributed Jenkins
- Lab Exercises
- Configure Tools in Jenkins
- Create a Jenkins Job
- Advanced Jobs
- Node.js based Jenkins Job
- Create a Pipeline
- Advanced Pipeline with Groovy DSL
- Configure Jenkins Security
- Optional: Ephemeral Build Agents with Docker
Required Prerequisites
- Familiarity with Java development practices.
License
Length: 2
days | $120.00 per copy