Four-Project Series

CI/CD Pipeline for a Web Application Using Jenkins you own this product

prerequisites
pipeline as code (Jenkins declarative pipeline) • installation and configuration of Jenkins • basic understanding of Docker and Kubernetes
skills learned
end-to-end pipeline to implement CI/CD • integrate quality gates in pipeline • use approval mechanism • publish reports to Jenkins Dashboard
Mitesh Verma
4 weeks · 4-6 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


XYZ Infotainment, a company that publishes news and entertainment to a worldwide audience, is growing rapidly. It needs faster, more stable deployment to support its success. In this series of liveProjects, you’ll play the role of an automation engineer helping the company realize its goal by implementing a CI/CD pipeline.

To manage code quality, you’ll integrate SonarQube, a static code analysis tool, into a pipeline. You’ll implement continuous integration by building a pipeline-as-code framework using Jenkinsfile, integrating unit tests, calculating code coverage, and configuring quality gates. You’ll also uplevel a DevOps transformation by building a Docker image for a web application.

To finish the series, you’ll demonstrate how to manage an automated deployment in Kubernetes clusters using declarative syntax in a pipeline-as-code framework. Your finished pipeline will be the perfect solution for deploying applications that frequently release new features, including XYZ Infotainment's new employee health app.

When you’ve completed this series, you’ll have hands-on experience employing techniques and skills for continuous code inspection, continuous integration, and continuous delivery that are highly sought after in this world of cloud-native applications.

For more on learning the basics of Pipeline as Code, please see Pipeline as Code with Jenkins.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

The project is well organized and contains clear instructions to follow. Also, it is challenging enough to explore the subject and get hands-on experience.

Kelum Senanayake, Senior Software Developer, Echoworx, Inc.

Manning author Mitesh Verma shares what he likes about the Manning liveProject platform.

here's what's included

Project 1 Static Code Analysis

Take on the role of a Jenkins engineer working at XYZ Infotainment, a company that publishes news and entertainment, leveraging data and innovation to reach millions of people around the world. After only a decade, it’s faced with the “good problem” of handling its exponential growth. Your task is to build a new method to manage code quality as part of the management team’s initiative to increase productivity and quality. You’ll integrate SonarQube, a static code analysis tool, into a pipeline and fork a health app in your GitHub repository. To ensure your code analysis is effective and efficient, you’ll also write a declarative script that configures the pipeline to wait for the SonarQube Quality Gate result and to fail if its criteria are not satisfied.

Project 2 Continuous Integration

Help XYZ Infotainment realize its vision of excellence. The company, which publishes news and entertainment for its large and loyal audience, has grown from 20 employees to 2,000 in the span of 10 years, but it’s currently not using automation for application lifecycle management. As an automation engineer, your task is to increase speed, productivity, and quality by implementing a continuous integration pipeline—the perfect solution for deploying applications that need to release new features frequently, including XYZ's new employee health app.

You’ll build a pipeline-as-code framework in Jenkins using Jenkinsfile, a tool for defining a declarative pipeline for applications. You’ll also integrate unit tests for the company’s health-promoting BMI calculator, calculate code coverage, and configure quality gates to ensure that all the right boxes are checked before proceeding. You’ll wrap up the liveProject by creating and archiving a package using a Jenkins pipeline with declarative syntax in a pipeline-as-code framework. When you’re done, XYZ will be able to release its builds faster and shorten its feedback loop while managing its automated pipeline going forward.

Project 3 Build and Scan a Docker Image

Transform XYZ Infotainment’s company culture by improving the productivity and quality of its application automation. The company publishes news and entertainment for a global audience, and it’s grown from 20 employees to 2,000 in 10 short years. It’s already extensively using a pipeline-as-code approach, but it wants to take its DevOps transformation to the next level by empowering non-programmers to manage their automation pipelines using Jenkins.

As an automation engineer, you’ll deliver the solution by building a Docker image for a web application, pushing the image to Docker Hub using Jenkins Pipeline, and securing the image using Trivy, an image scanner designed to spot vulnerabilities. To ensure it’s working as expected, you’ll test the workflow of the pipeline with XYZ Infotainment’s health-promoting BMI calculator. When you’re done, the web application will be ready to be integrated into the pipeline.

Project 4 Continuous Deployment

The engineers at XYZ Infotainment need your help in effectively managing their CI/CD pipelines. The company has grown to 100x its size in ten years, and it’s already begun to use Jenkins for automation. The engineers continuously upgrade their skills for continuous integration, and now they’re ready to implement continuous deployment. As an automation engineer, your job is to manage their automated deployment in Kubernetes clusters using declarative syntax in a pipeline-as-code framework—the perfect solution for deploying applications that need to release new features frequently, including XYZ Infotainment's new health app.

You’ll create a Kubernetes cluster using minikube, deploy a web application in a Kubernetes cluster using Jenkins Pipeline, configure Apache JMeter for load testing, then integrate it in a Jenkins pipeline for testing of the company’s new BMI calculator application. By the end of this liveProject, you’ll have invaluable experience applying techniques commonly used by automation engineers to create pipelines with declarative syntax for managing the lifecycle of an application.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • CI/CD Pipeline for a Web Application Using Jenkins project for free

At the end of day I learned a lot about Jenkins and how it works. I would never get such motivation without this project.

Krzysztof Drozd, Programmer Analyst Senior, FIS Global

It was a very good liveProject that allowed me to gain the skills I was looking for.

Chad Yantorno, Lead Systems Security Engineer, Salesforce

project author

Mitesh Verma

Mitesh Verma is a DevOps engineer with seven years of hands-on experience in managing CI/CD pipelines using Jenkins. Whether the pipelines are for apps written using Java, ReactJS, or Flutter, be they for Android or iOS, Mitesh knows how to create and run them.

Prerequisites

These liveProjects are for automation engineers who have an intermediate level of knowledge of CI/CD practices, as well as an intermediate knowledge of automation and Jenkins. To begin these liveProjects, you’ll need to be familiar with the following:

TOOLS
  • Intermediate Jenkins
  • Intermediate Docker
  • Intermediate knowledge of web application life cycle activities
  • Intermediate knowledge of shell scripts and batch scripts
  • Intermediate Kubernetes
  • Intermediate knowledge of SonarQube (min. version 7.9.1)
  • Intermediate knowledge of Trivy
  • Intermediate knowledge of Apache JMeter
TECHNIQUES
  • Intermediate understanding of continuous code inspection
  • Intermediate understanding of continuous integration and continuous delivery (CI/CD)
  • Intermediate understanding of containers and container management

you will learn

In these liveProjects, you'll learn practices for continuous code inspection, continuous integration, and continuous delivery.

  • Use SonarQube to perform static code analysis and integrate a quality gate in a CI/CD Pipeline
  • Execute unit tests and calculate code coverage for web applications
  • Configure a quality gate to verify code coverage
  • Create a distribution package for web applications
  • Create a Docker image using a distribution package
  • Perform vulnerability analysis on a Docker image
  • Use a Docker image to deploy a web application to a Kubernetes cluster

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.