Your privacy matters: This site uses cookies to analyze site usage and provide social media features. Learn More.

Continuous Integration with Jenkins for Developers

JEN-106 (2 Days)

Request Pricing

Jenkins Training Overview

This Continuous Integration with Jenkins training class teaches attendees the principles of continuous integration and how to implement continuous integration with automated test execution using Jenkins. Students use a local copy of Jenkins and create and run jobs, link to a version control system, run automated testing, and generate development reports.

Location and Pricing

Most Accelebrate courses are delivered as private, customized, on-site training at our clients' locations worldwide for groups of 3 or more attendees and are custom tailored to their specific needs. Please visit our client list to see organizations for whom we have delivered private in-house training. These courses can also be delivered as live, private online classes for groups that are geographically dispersed or wish to save on the instructor's or students' travel expenses. To receive a customized proposal and price quote for private training at your site or online, please contact us.

Jenkins Training Objectives

All students will 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.

Jenkins Training Outline

Expand All | Collapse All | Printer-Friendly

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
Summary
Job Types in Jenkins
Introduction
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 support building a C++ Project with Jenkins
Executing PowerShell Scripts with Jenkins
Template Jobs
Template Jobs
Template Jobs Plugin
Template Jobs Plugin - config.xml
Summary
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
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
Conclusion
Request Pricing

Lecture percentage

50%

Lecture/Demo

Lab percentage

50%

Lab

Course Number:

JEN-106

Duration:

2 Days

Prerequisites:

Attendees should have familiarity with Java development practices.

Training Materials:

All students receive comprehensive courseware.

Software Requirements:

  • Windows 7 or later with at least 4GB RAM
  • JDK 7 or later
  • Eclipse for Java EE Developers
  • Jenkins
  • Apache Maven 3.x
  • Apache Tomcat 6.x or later
  • Adobe Reader
  • Related free software and related lab files that Accelebrate provides

Contact Us:

Accelebrate’s training classes are available for private groups of 3 or more people at your site or online anywhere worldwide.

Don't settle for a "one size fits all" public class! Have Accelebrate deliver exactly the training you want, privately at your site or online, for less than the cost of a public class.

For pricing and to learn more, please contact us.

Contact Us

Toll-free in US/Canada:
877 849 1850
International:
+1 678 648 3113

Toll-free in US/Canada:
866 566 1228
International:
+1 404 420 2491

925B Peachtree Street, NE
PMB 378
Atlanta, GA 30309-3918
USA

Subscribe to our Newsletter:

Never miss the latest news and information from Accelebrate:

Microsoft Partner

Please see our complete list of
Microsoft Official Courses

Recent Training Locations

Alabama

Huntsville

Montgomery

Birmingham

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

San Francisco

Oakland

San Jose

Orange County

Los Angeles

Sacramento

San Diego

Colorado

Denver

Boulder

Colorado Springs

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Miami

Jacksonville

Orlando

Saint Petersburg

Tampa

Georgia

Atlanta

Augusta

Savannah

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Ceder Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

Banton Rouge

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Hagerstown

Frederick

Massachusetts

Springfield

Boston

Cambridge

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Saint Paul

Minneapolis

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Reno

Las Vegas

New Jersey

Princeton

New Mexico

Albuquerque

New York

Buffalo

Albany

White Plains

New York City

North Carolina

Charlotte

Durham

Raleigh

Ohio

Canton

Akron

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Tulsa

Oklahoma City

Oregon

Portland

Pennsylvania

Pittsburgh

Philadelphia

Rhode Island

Providence

South Carolina

Columbia

Charleston

Spartanburg

Greenville

Tennessee

Memphis

Nashville

Knoxville

Texas

Dallas

El Paso

Houston

San Antonio

Austin

Utah

Salt Lake City

Virginia

Richmond

Alexandria

Arlington

Washington

Tacoma

Seattle

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Edmonton

Calgary

British Columbia

Vancouver

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan

© 2013-2019 Accelebrate, Inc. All Rights Reserved. All trademarks are owned by their respective owners.