$39.99
Certification

Industry recognized certification enables you to add this credential to your resume upon completion of all courses

Need Custom Training for Your Team?
Get Quote
Call Us

Toll Free (844) 397-3739

Inquire About This Course
Instructor
Packt Publishing, Instructor - Effective Jenkins - Continuous Delivery and Continuous Integration

Packt Publishing

Founded in 2004 in Birmingham, UK, Packt's mission is to help the world put software to work in new ways, through the delivery of effective learning and information services to IT professionals. Working towards that vision, we have published over 6,000 books and videos so far, providing IT professionals with the actionable knowledge they need to get the job done - whether that's specific learning on an emerging technology or optimizing key skills in more established tools.

Instructor: Packt Publishing

You will understand the key concepts of CI, as well Continuous Deployment.

  • Use Jenkins Pipeline and JenkinsFile, the new concept of CI as code.
  • Build and test Java web applications.
  • Learn automated builds: freestyle project, working with Git, scheduled builds and up/downstream jobs.

Duration: 3h 58m

Course Description

In this first volume, you will understand the key concepts of CI, as well Continuous Deployment. Next, we get started with Jenkins by installing and configuring a Master and Node server. Once this is done, you will understand the main parts of Jenkins and create different types of Jenkins projects to automate everything that you want. We finish the section by looking at a Java web project and creating the necessary steps to build and test it, thereby empowering you to implement it in a real project. Then you will understand the key concepts of DevOps and delve into Jenkins Pipeline, a set of plugins that provides a toolkit for designing simple-to-complex delivery pipelines as code. To design a production-ready delivery pipeline, you will start by creating a simple pipeline and understanding Jenkins Pipeline terms and its particularities. Next, you will set up Docker to create isolated build environments.

What am I going to get from this course?

  • Key concepts of DevOps and a Continuous Delivery pipeline
  • Use Jenkins Pipeline and JenkinsFile, the new concept of CI as code
  • Explore Jenkins Pipeline to build, test, and deploy projects 
  • Work with Docker containers in a Jenkins context 
  • Build and test Java web applications.
  • Continuous Integration (CI) and Continuous Delivery (CD) concepts 
  • Jenkins quickstart: Jenkins architecture, installation and configuration 
  • Managing Jenkins: Security, plugin management and add a build node. 
  • Automated builds: Freestyle project, working with Git, scheduled builds and up/downstream jobs.
     

Prerequisites and Target Audience

What will students need to know or do before starting this course?

A basic understanding of the software development life cycle and Java development is needed, as well as a rudimentary understanding of Jenkins.

Who should take this course? Who should not?

If you are a Java developer, a software architect, a technical project  manager, a build manager, or a development or QA engineer, then this  tutorial is ideal for you. A basic understanding of the software development life cycle and Java development is needed, as well as a rudimentary understanding of Jenkins.

Curriculum

Module 1: Effective Jenkins: Continuous Delivery with Jenkins Pipeline

Lecture 1 The Course Overview

This video provides an overview of the entire course.

Lecture 2 Understanding DevOps

DevOps has in-numerous definitions, in this video we will clarify how the DevOps concept came to live and define the term. Understand why the DevOps concept has been created. Define what is DevOps.

Lecture 3 Converging to a Delivery Pipeline

When we talk about DevOps, collaboration is a key point. To support the DevOps culture, in this video, we will learn about the Delivery pipeline to support all people involved in the delivery process to easily visualize the stages to deploy a new change in the software. Understand the continuous delivery pipeline. Understand a typical delivery pipeline.

Lecture 4 Introduction to Jenkins Pipeline

For a long time, Jenkins has had a default interaction model the web UI, but together with CI practices, Jenkins creator has understood that the delivery pipeline should be part of the source code. In this video, we will give an introduction of this new feature. Review the default Jenkins interaction model and its disadvantages Introduce the CI as Code concept through Jenkins pipeline and its advantages

Lecture 5 Reviewing the Jenkins Plugins

To start using Jenkins pipeline, we need to install some required plugins. In this video, we will install the necessary plugins to start writing Jenkins Pipelines. Verify the necessary list of plugins and install using Jenkins Verify the installation by creating a new Jenkins Pipeline project

Lecture 6 My First Pipeline

In this video, we will understand the scripted pipeline, a flexible and powerful way to start creating pipelines in groovy on Jenkins. Introduce the scripted pipeline. Introduce the Jenkins Project. Create a pipeline with Jenkins Pipeline.

Lecture 7 Scripted Pipeline Steps

In this video, we will explore the most common step in a Jenkins pipeline and see how we can handle password on Jenkins pipeline to do not expose it to the users. Explore the most common steps in the pipeline. Learn how to use the hidden password.

Lecture 8 Finishing up the Build

Life is not a bed of roses, and with Jenkins it’s not different. In this video, we will understand how we can handle error during the pipeline execution and add post build steps. Handle error in the scripted pipeline. Add a post build step. Explore notification system with Jenkins pipeline.

Lecture 9 Understanding the Declarative Pipeline

Jenkins pipeline can be written in two ways, declarative and scripted. In this video, we will understand the declarative pipeline syntax and its nuances. Learn what a declarative pipeline is. Understand sections, directives and steps. Learn how to use scripts inside a declarative pipeline.

Lecture 10 Understanding the JenkinsFile

CI as code can be accomplished via the JenkinsFile, a way of keeping the logic of your pipeline stored at the same repository as the application that you are build. This video will explain how this is possible with Jenkins. Learn what the JenkinsFile is. Understand how the pipeline works with JenkinsFile.

Lecture 11 Creating and Configuring the JenkinsFile

In this video, we will create a JenkinsFile and commit it together with a java project and create a pipeline project on Jenkins to run the pipeline from this file. Create a JenkinsFile and prepare a Jenkins pipeline project to use it. Improve the JenkinsFile to checkout, build, and test and package the application.

Lecture 12 Introduction to Docker

Docker is a well-known technology widely used today. In this video, we will briefly explain what Docker is and how it can support the CI environment. Understand the basics of Docker. Learn how Docker can help on CI environment.

Lecture 13 Installing Docker on the Jenkins Node Server

To run Docker on Jenkins nodes we need first to install the Docker platform to start building the application with containers. This video will explain how to prepare the Jenkins machine for that. Install Docker on a Linux Jenkins node machine. Create a Jenkins job to test the Docker installation.

Lecture 14 Finding out to Use Docker with Jenkins Pipeline

To have isolated and reproducible environments, Docker is the right tool to enable developers and the CI system to achieve it. In this video, we will see how to use Docker containers from Jenkins pipeline. Introduction to the Docker Hub. Use one Docker container for the pipeline. Use one Docker container per stage.

Lecture 15 Introduction to the Java Web Project

To effectively apply the techniques learnt in this course, we will learn the Spring PetClinic project - a Java web project that we will create to deploy to a production-like environment. Introduce the Spring PetClinic Project. Create a continuous delivery pipeline on Jenkins.

Lecture 16 Archiving Artefacts and Fingerprints

Traceability is an important topic for DevOps teams, who needs to be able to trace code from commit to deployment. In this video, we will understand how Jenkins can help us with that. Understand what is Jenkins fingerprinting. Archive an artefact.

Lecture 17 Deploying Our Java Web Project

In this video, we will create an approval gate and a stage to deploy the project onto a production-like environment. Implement an approval gate in the pipeline requesting a human input. Learn how to deploy our Java web project.

Module 2: Effective Jenkins: Getting Started with Continuous Integration

Lecture 18 The Course Overview

This video provides an overview of the entire course.

Lecture 19 Mastering on Continuous Integration

In this video, we will understand what Continuous Integration is and why it is important, see its key practices, and how to practice it when you change the source code of our application. What is Continuous Integration? Understand the key practices of Continuous Integration. Understand a workflow of changing code practicing Continuous Integration.

Lecture 20 Understanding the Continuous Delivery Concepts

This video aims to explain what is Continuous Delivery, its fundamentals and the deployment pipeline. What is Continuous Delivery? Understand the pillars of Continuous Delivery. Understand the deployment pipeline.

Lecture 21 Continuous Delivery Versus Continuous Deployment

This video will explain the differences between Continuous Delivery and Continuous Deployment. Introduction to the software release process. Understand Continuous Deployment. Understand the difference between Continuous Delivery and Continuous Deployment.

Lecture 22 CI, CD, and Continuous Deployment?

In this video, we will expand the differences between CI, CD, and Continuous Deployment in the software development life cycle. Explain the boundaries of each practice. Define the journey among these practices.

Lecture 23 Introducing Jenkins 2

In this video, we will understand what is Jenkins and its architecture. What is Jenkins and for what can I use it? Understand the Jenkins architecture.

Lecture 24 Installing and Configuring Jenkins

In this video, we are going to create a virtual machine with Linux and install Jenkins step-by-step. Prepare our isolated environment with vagrant and VirtualBox Install and configure Jenkins to start creating the projects

Lecture 25 Jenkins Dashboard

In this video, we are going to create our first Jenkins project and understand the key elements of the Jenkins dashboard. Create the first Jenkins project, schedule a build and understand the project interface elements. Understand the Jenkins dashboard and its elements.

Lecture 26 Jenkins Global Configuration

In this video, we will understand the Jenkins global configuration, the place where you can define global setting to all Jenkins projects. Understand the Jenkins global settings Explore the Jenkins global tool configuration and install a JDK

Lecture 27 Jenkins Security

In this video we will learn how to deal with it on Jenkins. Security is essential to control the users and its permission. Understand the Jenkins Realm, responsible for user authentication and add a new user. Explore the authorization strategy by configuring the matrix-base security. Grant permissions to the users.

Lecture 28 Jenkins Plugin Management

In this video, Jenkins is heavily based on plugins, it can integrate with thousands of tools and services from the plugins, and we are going to see how to do it. Explore the Jenkins Plugin management view. See updates, available and installed plugins. Explore the advanced tab of plugins.

Lecture 29 Adding a Build Node

This video will focus on how to add and configure Jenkins build nodes? Create ssh-key for the Jenkins user in the Jenkins Master machine and configure Jenkins credentials. Create a new virtual machine and configure ssh access. Configure Jenkins and the project to use the new build node.

Lecture 30 Jenkins Projects

In this video, Jenkins has different types of projects or jobs and we are going to explore the difference between them. Copy existing Jenkins projects and create new ones on different type of projects.

Lecture 31 Freestyle Projects – Scheduled Builds

In this video, we are going to explore how Jenkins deal with that and how to define a retention policy to keep the relevant builds. Configure a project to trigger a build automatically based on a schedule. Configure a project to trigger a build automatically in a specific date and time. Configure the Jenkins retention policy.

Lecture 32 Freestyle Projects – Sending E-mail Notifications

In this video we configure Jenkins to send e-mail notification on broken and fixed builds. Setup the SMTP server on the Jenkins global configuration. Configure the project/job to send e-mail notification on broken builds. Configure the project/job to send e-mail notification on fixed builds.

Lecture 33 Working with Git SCM

In this video, part of the CI foundations is to maintain a single source repository. This video will explain how to integrate Jenkins with Github to use git repositories. Create a git repository on Github. Integrate Jenkins with Github.

Lecture 34 Introduction to a Java Web Project

This video will introduce the Sprint PetClinic, an open source sample project to be used in the next videos. Nothing better than using a sample project to understand how Jenkins works with a real life project. Introduction to Spring PetClinic project. Build the project locally. Install maven on Jenkins and create a job to build the PetClinic project.

Lecture 35 Upstream and Downstream Projects

In this video, using the java web project, we are going to create a CI build pipeline in Jenkins based on upstream and downstream jobs. Create a CI build pipeline. Configure the initial job in the pipeline to trigger on every change in the source code.

Lecture 36 Visualizing the Status of the Builds

This Video will show you two different possibilities to give enough visibility of the status of the builds for the development team. Visualizing the state of the mainline build is essential to practice continuous integration and get people to embrace it. Install the build pipeline plugin. Install the build monitor plugin.