4.05 out of 5
4.05
12 reviews on Udemy

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!
Instructor:
Packt Publishing
90 students enrolled
English [Auto-generated]
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.

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.

Effective Jenkins: Getting Started with Continuous Integration

1
The Course Overview

This video provides an overview of the entire course. 

2
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

3
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

4
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

5
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

6
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

7
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

8
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

9
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

10
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

11
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

12
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

13
Jenkins Projects

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

14
Freestyle Projects – Scheduled Builds

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

15
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

16
Working with Git SCM

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

17
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

18
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.

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

  • Install the build pipeline plugin

  • Install the build monitor plugin

20
Effective Jenkins: Getting Started with Continuous Integration

Hands-On Continuous Integration and Automation with Jenkins

1
The Course Overview

This video will give you an overview about the course. 

2
What Is Jenkins?

This video describes what Jenkins is and how it used for.

  • Describe what is Jenkins

  • Describe what Jenkins is used for

3
Install Jenkins on Windows

This video shows how to install Jenkins on Windows.

  • Describe options to install Jenkins on Windows

  • Download the Windows package installer

  • Install from package installer

4
Install Jenkins on macOS

This video shows how to install Jenkins on macOS.

  • Describe options to install Jenkins on macOS

  • Install Jenkins using brew

5
Install Jenkins on Linux

This video shows how to install Jenkins on Linux.

  • Describe options to install Jenkins on Linux distributions

  • Install Jenkins on Ubuntu

6
Install Jenkins with Docker

This video shows how to install Jenkins with Docker.

  • Describe what is Docker

  • Install Jenkins with Docker

7
Tour of Jenkins Dashboard

This video gives an overview of the Jenkins dashboard and admin console and introduces key concepts and terminology.

  • Explore the Jenkins dashboard

  • Explore the Jenkins admin console

  • Learn key terminology

8
Job Configuration

This video explores configuration options in a job.

  • Configure a job

  • Run a job

  • Learn key terminology

9
Create Your First Jenkins Job

This video is a step-by-step guide to create your first Jenkins job.

  • Create your first job

  • Configure your first job

  • Run your first job

10
Extend Your Jenkins Job

This video shows how to extend the job created in video 2.3.

  • Pull code from GitHub

  • Pass a parameter to a build

  • Build the job periodically

11
What Is CI/CD?

This video explains what Continuous Integration, Continuous Delivery, and Continuous Deployment are, how they compare, and which benefits they bring

  • Learn Continuous Integration

  • Find out Continuous Delivery and Continuous Deployment

  • Understand Compare and contrast

12
CI Workflow

This video shows the CI workflow, introduces the Maven build tool, and implements the first phase of the CI workflow.

  • See CI workflow

  • Maven build tool

  • Implement first phase of CI workflow

13
Testing Workflow

This video explains the different types of tests and implements the testing part of the CI workflow.

  • Why testing

  • Explain the types of tests

  • Implement testing workflow

14
Notification Workflow

This video shows the different types of notifications, introduces the information radiator and extreme feedback, and implements the notification part of the CI workflow.

  • Explain the types of notifications

  • Information radiator and extreme feedback

  • Implement notification workflow

15
What Is Pipeline as Code?

This video explains what Pipeline as Code means, how pipelines are implemented in Jenkins 2, and what are the benefits of using Pipelines.

  • Explain Pipeline as Code

  • How pipelines are implemented in Jenkins 2

  • Benefits of using pipelines

16
Jenkinsfile

This video explains what a Jenkinsfile is, shows the differences between declarative and scripted pipelines, and creates and runs simple pipeline jobs.

  • Learn what a Jenkinsfile is

  • Declarative versus scripted pipelines

  • Create and run pipeline jobs

17
CD Pipeline Overview and Intro to Docker

This video gives an overview of the CD pipeline, shows the web application deployed via the CD pipeline, and introduces Docker.

  • CD pipeline overview

  • Web application used in the deployment

  • Intro to Docker

18
Docker Commands

This video shows the Dockerfile used by the CD pipeline, the Python code of the web application, and Docker commands to build an image and run a container.

  • Learn what a Dockerfile is

  • Python code of the web application

  • Docker commands

19
CD Pipeline – Build and Deploy to Dev

This video shows how to create a pipeline job in Jenkinsfile and how to create a Jenkinsfile with steps to build a web application and de-ploy it to a development environment.

  • Jenkinsfilewith steps to build and deploy to dev

  • Create and run the pipeline job

  • Access web application on dev environment

20
CD Pipeline – Test and Deploy to Stage

This video adds unit tests for the Python code, deploys the application to a staging environment, and tests the deployments with user acceptance tests.

  • Add steps to the pipeline

  • Analyze unit and user acceptance tests

  • Deploy to a staging environment

21
CD Pipeline – Approve and Deploy to Live

This video completes the CD pipeline with a step to manually approve the deployment and deploy to the live environment and shows additional resources to write pipeline scripts.

  • Add step to approve deployment

  • Deploy and test the live environment

  • Resources to write pipeline scripts

22
What Is Blue Ocean?

This video explains what is Blue Ocean, which advantages it brings, and its main features.

  • What is Blue Ocean

  • See the advantages of Blue Ocean

  • Overview of Blue Ocean

23
Install Blue Ocean
24
Create a Multibranch Pipeline with Blue Ocean

This video shows how to create, configure, and run a multibranch pipeline using Blue Ocean’s visual editor.

  • Create a multi branch pipeline

  • Create a personal access token

  • Run and visualize the pipeline

25
Pull Requests in Multibranch Pipeline

This video explains what a pull request is and shows how to create and debug a pull request in a multibranch pipeline.

  • What is a pull request

  • Create a pull request

  • Debug a pull request in the multibranch pipeline

26
Overview

This video gives an introduction to AWS, explains the master/slave architecture on Jenkins, and illustrates the outcome of this section’s practical part.

  • Introduce to AWS

  • Understand the master/slave architecture in Jenkins

  • Learn about Jenkins build farm

27
Create Resources on AWS

This video introduces AWS resources and jargon and shows how to create a VPC and security group and launch an EC2 instance.

  • Introduce AWS jargon

  • Create a VPC and a security group

  • Launch an EC2 instance

28
Install Jenkins on AWS

This video shows how to assign an Elastic IP address to an EC2 instance, access an EC2 instance via ssh, and install Jenkins on AWS.

  • Assign elastic IP address

  • Access EC2 instance via ssh

  • Install Jenkins on AWS

29
Configure the EC2 Plugin

This video introduces AWS concepts like IAM policy, IAM user, and AMI, and shows how to add AWS credentials to Jenkins and install and configure the EC2 plugin.

  • Create IAM policy and user

  • Add AWS credentials in Jenkins

  • Install and configure the EC2 plugin

30
Run Jobs on a Slave Node

This video shows how to configure and run a job on a slave node.

  • Configure job on slave node

  • Run job on slave node

  • Stop and clean up AWS resources

31
Hands-On Continuous Integration and Automation with Jenkins
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.1
4.1 out of 5
12 Ratings

Detailed Rating

Stars 5
7
Stars 4
2
Stars 3
2
Stars 2
0
Stars 1
1
63623a39a88eecf8f7444d94e055fab5
30-Day Money-Back Guarantee

Includes

6 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion