Continuous Integration with Jenkins – GTCIJ

Course Description

UPCOMING TRAINING EVENT

DUBLIN | 27th March 2017 – Contact us to register your interest

This one-day course provides training on the Jenkins Continuous Integration system. Students will install Jenkins on a Windows machine, create Jenkins jobs, setup Jenkins user-authentication, and explore commonly-used Jenkins plugins.

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 students with an understanding of the principles of continuous integration, and the knowledge of how to implement continuous integration with automated test execution using Jenkins. Students 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.

Objectives

In this training, attendees 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.

^^

Prerequisites

Attendees should have familiarity Java development practices.

^^

Duration

1 Day

^^

Course Summary

Chapter 1. Introduction to Continuous Integration, Continuous Deployment and Jenkins-CI

Agile Development

What is Continuous Integration

Typical Setup for Continuous Integration

Continuous Deployment

DevOps and Continuous Deployment

Continuous Deployment Challenges

Jenkins Continuous Integration

Jenkins Features

Running Jenkins

 

Chapter 2. 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

 

Chapter 3. Job Types in Jenkins

Introduction

Different types of Jenkins Items

Configuring Source Code Management(SCM)

Working with Subversion

Working with Git

Storing Credentials

Build Triggers

Schedule Build Jobs

Polling the SCM

Maven Build Steps

 

Chapter 4. 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

Conclusion

 

Chapter 5. Jenkins Plugin

Introduction

Jenkins Plugins – SCM

Jenkins Plugins – Build and Test

Jenkins Plugins – Analyzers

Jenkins for Teams

Installing Jenkins Plugins

 

Chapter 6. Distributed Builds with Jenkins

Distributed Builds – Overview

Distributed Builds – How?

Slave Machines

Configure Jenkins Master

Configure Projects

Conclusion

 

Chapter 7. Continuous Deployment and the Jenkins Pipeline

Continuous Deployment

DevOps and Continuous Deployment

Continuous Deployment Challenges

Continuous Deployment with Jenkins

The Pipeline Plugin

Defining a Pipeline

A Pipeline Example

Parallel Execution

Creating a Pipeline

Invoking the Pipeline

Interacting with the Pipeline

Conclusion

 

Chapter 8. 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

Best Practices – Summary

 

Lab Exercises

Lab 1. Configure Tools in Jenkins
Lab 2. Create a Jenkins Job
Lab 3. Add Development Metrics
Lab 4. Configure Jenkins Security
Lab 5. Create a Pipeline

^^

See more Architecture courses