ZNK-JKN Introduction to Jenkins
|DURATION||FEE (S$ before GST)|
|298 Tiong Bahru Road #08-05 Central Plaza Singapore 168730|
|9.00am to 5.00pm|
ABOUT THIS COURSE
This training is offered in partnership with Zenika Singapore, an official Cloudbees partner (Cloudbees is the company behind Jenkins).
The CloudBees Jenkins platform is at the heart of integration and continuous delivery chains. The mastery of this tool is an essential element for its daily use by the development and ops teams.
Students will walk away with a solid understanding of how to implement a contnuous delivery (CD) environment by leveraging the CloudBees Jenkins Platorm, including:
- Setting up a production-grade instance of a Jenkins server, complete with automated builds, tests, code quality audits and reports
- Integrating Jenkins with other tools in the development environment, such as issue tracking systems and source code browsers
- Implementing a distributed build architecture
- Learning the main features available in CloudBees Jenkins Enterprise
- Unit testing (Lab: Displaying test results)
- Beginner and intermediate Java developers
- Software architects
- Technical project managers
- Build managers
- Development and QA engineers
Basic knowledge of Java development.
CI and CD Fundamentals
We will review the basic benefits of continuous integration (CI) and CD and why we utilize them in the software
Jenkins Overview (Lab: Installing a Jenkins Environment)
We’ll introduce Jenkins as a tool for automaton, then look in more detail at how to prepare and set up a
producton deployment of Jenkins, as well as what you need to consider beforehand.
Projects, formerly known as jobs, are at the heart of Jenkins usage. We’ll see how to create, manage and
execute projects, and how to monitor their state. Two standard job types will be covered:
- Freestyle (Lab: Creating A Freestyle Build Job)
- Maven (Lab: Creating A Maven Build Job)
We will also study how to combine projects to achieve continuous testing against your code, demonstrating the
builds reportng capabilites within Jenkins. Specifcally:
- Unit Testing (Lab: Displaying Test Results)
- Integration Testing (Lab: Creating an Integration Tests Build)
Jenkins derives a good part of its power from a vibrant plugin ecosystem. In this module, we’ll look at how to tap
into that ecosystem, where to fnd plugins and how to manage them.
Working with SCM (Lab: Integratng with a Source Repository Browser)
We will look into the value of integratng a repository browser with Jenkins and will use Subversion as an example
in the lab environment.
Code Quality and Code Coverage Metrics (Lab: Code Quality Metrics)
One of the typical things companies deploy on Jenkins is contnuous quality metrics monitoring. We willl look
into both statc code analysis and dynamic code analysis and spend some tme implementng them in the lab.
We will also discuss how to practcally deploy contnuous quality metrics monitoring in the real world.
Parameterized Builds (Lab: Parameterized Builds)
The parameterized build feature in Jenkins is a key building block in creatng more complex workﬂows in Jenkins.
We will look at how this feature works and experiment with it in the lab.
Automated Deployments (Lab: Automatic Deployments to Tomcat)
With our eyes on contnuous deployment, we will look at how to make Jenkins deploy to Java applicaton
servers, using Tomcat as an example.
Folders, Folders Plus and Security (Lab: Job Organization and Security with Folders)
We will revisit how to organize a large number of Jenkins jobs with the Folder feature in CloudBees Jenkins
Enterprise and how this maps naturally to typical organizatonal needs.
Security is also a frst-class citzen inside the CloudBees Jenkins Platorm. We will cover how to manage
authentcaton and access control by using the Role-based Access Control plugin to control folder authorizatons.
Validated Merge for GitHub (Lab: Validated Merge)
The Validated Merge feature in CloudBees Jenkins Enterprise allows developers to run tests entrely on the
server, while ensuring that no bad commits land on the team repository. This module shows how to implement
Pull Request Builder for GitHub
With GitHub, new development workﬂows became easier to implement. Using the Pull Request-based system
gives you power against your process. We’ll study how to combine Jenkins power with GitHub-based workﬂow,
with an efcient push model.
Templates (Lab: Templates)
When using Jenkins at scale, dealing with thousands of jobs can be painful. In additon, reusing confguraton setngs
in order to share best practces across your teams is quite a challenge, namely maintaining them over tme. We will
see how the Templates feature helps efciently reuse confguraton setngs by building and sharing templates.
Pipeline (Lab: Pipeline)
With CD in mind, working collaboratvely on applicaton lifecycle requires strong tooling to address all usage
scenarios. We will see how to defne new Pipeline-based jobs and how to use them to achieve durability, versatlity
and extensibility. We will learn how to manage job confguraton as code as well as Jenkins DSL concepts in order
to help you implement development supply chains.
CloudBees Support Plugin (Lab: CloudBees Support Plugin)
The CloudBees Support plugin is an essental tool for CloudBees Jenkins Platorm customers when resolving issues
with the help of the team of support experts at CloudBees. It helps you create a single fle (support bundle) that
you can atach to your support tcket, with all the informaton required by CloudBees support engineers to analyze
and diagnose issues. We will see how to install this plugin and generate a support bundle.
Introduction to CloudBees Jenkins Operation Center
Onboarding new teams or projects in your CD environment can be a challenge sometmes, in partcular when
startng to scale your Jenkins implementaton. CloudBees addresses those challenges by providing CloudBees
Jenkins Operaton Center, a sofware soluton included with the CloudBees Jenkins Platorm that helps you scale
your Jenkins cluster.
We will demonstrate the main features of CloudBees Jenkins Operations Center and see how it enables cross-team collaboration. We will also see how you can get a consolidated view of your analytics and security processes.