Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Continuous Integration and Automation with Jenkins: 2-in-1
Rating: 4.3 out of 5(56 ratings)
414 students

Continuous Integration and Automation with Jenkins: 2-in-1

Set up the stage for a DevOps culture by learning Continuous Integration and automating your Jenkins projects!
Last updated 9/2018
English

What you'll learn

  • Managing Jenkins: Security, Plugin management and add a build node.
  • Automated builds: Freestyle project, working with Git, scheduled builds and up/downstream jobs.
  • Configure and run builds in Jenkins from GitHub.
  • Build a Continuous Integration/Continuous Deployment pipeline.
  • Integrate Jenkins with AWS.
  • Continuous Integration (CI) and Continuous Delivery (CD) concepts.
  • Jenkins quick start: Jenkins architecture, installation and configuration.

Course content

2 sections49 lectures6h 22m 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

  • Effective Jenkins: Getting Started with Continuous Integration

Requirements

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

Description

In agile development practices, developers need to integrate their work frequently to fix bugs or to create a new feature or functionality. Jenkins is used specifically for continuous integration, helping to enforce the principles of agile development.

Jenkins is one of the most popular and leading Continuous Integration servers on the market today. This popularity is because, it is an open source project and a very flexible tool, which you can easily use it to automate all of the steps of your software delivery process on any platform.  It is designed to maintain, secure, communicate, test, build, and improve the software development process. Setting up Jenkins and running build jobs is not enough for a production infrastructure.

This comprehensive 2-in-1 course a modular and highly interactive approach, providing a general introduction and explanatory, hands-on content. You’ll start off with configuring Jenkins effectively to work with Git in building and testing your software. You’ll discover the process of using Jenkins to build, test, and package Java applications. You’ll also learn about the extensible features of Jenkins with automated deployment on a cloud platform.

By the end of the course, you’ll be able to set up the stage for a DevOps culture by learning Continuous Integration, automating your Jenkins projects and getting continuous feedback for your upstream & downstream projects!

Contents and Overview

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

The first course, Effective Jenkins: Getting Started with Continuous Integration, covers Continuous Integration, automate your Jenkins projects and get continuous feedback for your upstream & downstream projects. In this first volume, you will understand the key concepts of CI and CD, as well Continuous Deployment. Get started with Jenkins by installing and configuring a Master and Node server. Once this is done, understand the main parts of Jenkins and create different types of Jenkins projects to automate everything that you want. You’ll finish the section by looking to a Java web project and create the necessary steps for build and test it, therefore you can implement it to your real project.

The second course, Hands-On Continuous Integration and Automation with Jenkins, covers building, testing, and packaging applications with Jenkins in this hands-on video course supported by practical real-world examples. This video course delves into the installation of the required software dependencies and libraries and demonstrates the workflow you'll need to follow to perform continuous integration for a sample application. From there, you will learn how to integrate code repositories and build tools in order to build code pipelines to implement both continuous integration and continuous delivery. Finally, you will also learn to automate deployment to a cloud platform such as AWS.

By the end of the course, you’ll be able to set up the stage for a DevOps culture by learning Continuous Integration, automating your Jenkins projects and getting continuous feedback for your upstream & downstream projects!

About the Authors

  • Rodrigo Russo is a Certified Jenkins Engineer and has 14+ years' 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 Walmart .com, Good game 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 life cycle through automation, process improvements, developing new tools and techniques. Rodrigo holds a B.S. in Computer Science and a post-graduate in Software Engineering.


  • Sandro Cirulli is a certified Jenkins engineer, co-maintainer of XSpec, an open source unit testing framework for XML technologies, and co-organizer of DevOps Oxford Meetup. Sandro currently works as Lead Language Technologist in the Dictionaries department of Oxford University Press (OUP) where he's in charge of system administration, cloud, and DevOps. Sandro holds an MS degree in Computer Science from Oxford Brookes University and blogs at sandrocirulli .net.

Who this course is for:

  • Java developer, software architect, technical project manager, build manager, or QA engineer who are looking forward to build, test, and package applications with Jenkins.