Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
DevOps: CI/CD with Jenkins using Pipelines:Complete Tutorial
Rating: 4.2 out of 5(174 ratings)
1,296 students

DevOps: CI/CD with Jenkins using Pipelines:Complete Tutorial

Fast-track your continuous integration and continuous delivery process with Jenkins
Last updated 8/2018
English

What you'll learn

  • Master the art of Jenkins management like adding a build node, security and plugin management
  • Work with automated builds of Jenkins like freestyle project, Git, scheduled builds, and up/downstream jobs
  • Get exposed to the key concepts of DevOps and continuous delivery pipeline
  • Work with Docker containers in a Jenkins context
  • Configure Jenkins effectively to build, test, and deploy your software using JenkinsFile
  • Understand Agile tests and implement them in the delivery process
  • Implement an effective branching strategy with continuous feedback on feature branches

Course content

3 sections54 lectures6h 57m total length
  • The Course Overview3:05

    This video provides an overview of the entire course.

  • Mastering on Continuous Integration6:21

    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

  • Understanding the Continuous Delivery Concepts7:52

    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

  • Continuous Delivery Versus Continuous Deployment2:37

    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

  • CI, CD, and Continuous Deployment?1:46

    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

  • Introducing Jenkins 22:02

    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

  • Installing and Configuring Jenkins7:30

    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

  • Jenkins Dashboard5:57

    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

  • Jenkins Global Configuration9:29

    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

  • Jenkins Security4:48

    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

  • Jenkins Plugin Management2:42

    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

  • Adding a Build Node9:15

    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

  • Jenkins Projects5:37

    In this video, Jenkins has different types of projects or jobs and we are going to explore the difference between then.

    • Copy existing Jenkins projects and create new ones on different type of projects

  • Freestyle Projects – Scheduled Builds5:43

    In this video we are going so 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

  • Freestyle Projects – Sending E-mail Notifications7:11

    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

  • Working with Git SCM10:41

    In this video, Part of the CI foundations is to maintain a single  source repository. This video you explain how to integrate Jenkins with  Github to use git repositories.

    • Create a git repository on Github

    • Integrate Jenkins with Github

  • Introduction to a Java Web Project10:26

    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

  • Upstream and Downstream Projects14:34

    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.

  • Visualizing the Status of the Builds5:41

    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 embracing it.

    • Install the build pipeline plugin

    • Install the build monitor plugin

  • Test your knowledge

Requirements

  • Basic understanding of the software development life cycle (SDLC) and Java development, as well as a rudimentary understanding of Jenkins is required.

Description

Jenkins is the most popular and leading open-source automation server for continuous integration and continuous delivery because of its flexibility due to which you can easily use to automate all the steps in your software delivery process on any platform.

This comprehensive 3-in-1 course is designed to give you the ins and out of continuous integration and continuous delivery, and implementing them with Jenkins. It will show you how to set up your CI environment, by installing and configuring Jenkins master/nodes, introducing the main parts of the tool, and effectively configuring Jenkins projects to build and test software applications. You will work on improving the quality of your delivery process by implementing an acceptance stage in workflows. You will explore how automation works for database scripts by adding a new stage to your pipeline for database migration. You will move towards improving the quality of your software development workflow by integrating Jenkins with GitHub to automatically build pull requests.

This training program includes 3 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Effective Jenkins: Getting Started with Continuous Integration, covers key concepts of continuous integration, as well continuous deployment. You will understand the main parts of Jenkins and create different types of Jenkins projects to automate everything that you want. You will finish the first course 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.

The second course, Effective Jenkins: Continuous Delivery with Jenkins Pipeline, covers 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. To consolidate your learning, you will create a delivery pipeline to build, test, and deploy a Java web project.

In the third course, Effective Jenkins: Improving Quality in the Delivery Pipeline with Jenkins, you will improve the quality in your delivery process by implementing an acceptance stage in workflows wherein you will learn different test types and add automated API and UI tests to the pipeline. You will then understand how to automate the execution of database scripts and add a new stage to your pipeline to manage database migrations. You will also learn about branching strategies and how to implement continuous feedback on every feature branch using Jenkins multi-branch. Finally, you will improve the quality of your software development workflows and learn how to integrate Jenkins with GitHub to automatically build pull requests.

By the end of this Learning Path, you’ll be thoroughly equipped with the concepts of Jenkins and will be able to configure Jenkins effectively to build, test, and deploy your software.

Meet Your Expert(s):

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

  • Rodrigo Zacheu Russo is a Certified Jenkins Engineer and has 14+ years of experience in software development with different programming languages and technologies in different countries (Brazil, US, Portugal, Germany, and Austria) and projects in companies ranging from a financial institution to game and e-commerce ventures including Goodgame Studios, and HERE. He is an enthusiastic practitioner of Agile methodologies, Continuous Delivery, and DevOps, with large-scale adoption experience. He is always seeking to optimize the software development lifecycle through automation, process improvements, and developing new tools and techniques. Rodrigo holds a B.S. in Computer Science and a post-graduate degree in Software Engineering.

Who this course is for:

  • This learning path is for Java developers, software architects, technical project managers, build managers, and QA engineers who wish to effectively perform DevOps processes using Jenkins.