Choose your language:

France
Germany
Hong Kong
India
Ireland
Japan
Malaysia
Netherlands
New Zealand
Singapore
Sweden
United Kingdom
United States

Applied Continuous Integration with Jenkins

Course Code

IN1502

Duration

2 Days

Participants should have familiarity with Java development practices.
Jenkins is an award-winning application that monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Jenkins focuses on the following two jobs:
  • Building/testing software projects continuously. Jenkins provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. The automated, continuous build increases development productivity.
  • Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Jenkins keeps those outputs and makes it easy for you to notice when something is wrong.
This course will provide participants with an understanding of the principles of continuous integration, and the knowledge of how to implement continuous integration with automated test execution using Jenkins. Participants will use a local copy of Jenkins and to create and run jobs, link to a version control system, run automated testing and generate development reports.
This course is designed for developers.
Upon completion of this course, participants will be able to:
  • Install and configure Jenkins in a servlet container
  • Create Jenkins builds
  • Configure and use Apache Ant and Apache Maven with Jenkins
  • Configure and use Node.js 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. 
  • Use Jenkins to implement complicated software delivery workflows.
  • Access Jenkins’ remote API from various tools.
Introducing Continuous Integration and Jenkins
Agile Development
Continuous Integration
History of Jenkins
State of the Jenkins community

Installing and Running Jenkins
Running Jenkins from the jar file
Installing Jenkins in a servlet container
Setup Security
Email and Version Control
Master/slave configurations

A Jenkins Job
Creating a job
Configure a job
Run a job manually
Run a job when source code is checked into version control
Run a job on a regular schedule

Securing Jenkins
Authentication and Authorization
Setting up Jenkins’ security

Advanced Jenkins
Monitoring External jobs
Distributed builds
File fingerprint tracking
Using Jenkins for non-Java projects
Matrix projects
Splitting a big job into smaller jobs

Jenkins Plugins
Change reporting
Code coverage
Static Analysis
Performance reporting
Style checking

Distributed Jenkins
Why run Jenkins across machines?
Setting up a distributed Jenkins system
Running Jobs

Jenkins with Node.js
Structure of JavaScript projects
Integration with Test Runners
Style checking JavaScript projects
Starting integration servers

The Jenkins Remote API
Service Calls
Remote API Security
Triggering builds – plain and parameterized builds
Retrieving Information
API Libraries – Python, Ruby
Jenkins Discovery

Extending Jenkins
Writing command-line utilities for use in Jenkins build steps
Writing Jenkins Plugins
Rough overview
Extending an existing plugin
Overview

Jenkins Workflow –Introduction
Why Workflow?
Building a Continuous Deployment Pipeline

A Quick Introduction to Apache Groovy
Syntax
Differences from Java
Key concepts that are used in Jenkins Workflow

Jenkins Workflow
Build steps
Gathering human input
Allocating projects and workspaces
Using distributed workers

Front-ending Jenkins Workflow
Remote API for workflow
Interacting with Workflow from a web application

Section 15: Best Practices for Jenkins
Send Us a Message
Choose one