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.
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.
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.
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.
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.
In this series of liveProjects, you’ll use pipeline-as-code techniques and Jenkins infrastructure to set up new CI/CD pipelines for software development. Stepping into the role of an automation engineer looking for a better way to manage application lifecycle activities, you’ll implement DevOps practices such as continuous integration and continuous delivery using Jenkins Pipeline (pipeline-as-code). To do this, you’ll use a declarative pipeline and Blue Ocean to create a Jenkinsfile for pipeline-as-code adoption. CI/CD pipelines that are iterated as pipeline-as-code are some of the most robust and easy-to-use features of Jenkins for non-technical colleagues.
For more on CI/CD implementation using Pipeline as Code, please see CI/CD Pipeline for a Web Application Using Jenkins.
In this liveProject, you’ll create and configure a multi-branch pipeline, then group it in one pipeline-as-code project with Jenkins so all the pipelines for a repository are managed together. Working for a mature company with a well-established but branching CI/CD pipeline, you’ll manage pipelines in different branches available in the repository. The multi-branch pipeline helps maintain pipelines easily when there are many repositories and each has different branches that need to be managed.
In this liveProject, you’ll create a CI/CD pipeline using pipeline-as-code and Blue Ocean. Blue Ocean is a new user interface that allows beginners and non-technical users to graphically create, visualize, and diagnose CI/CD pipelines. Your company needs all employees to be able to work with this pipeline irrespective of their technical backgrounds, so you’ll ensure that this pipeline is easy to replicate without scripting experience. You’ll ensure that specific steps can be executed after a pipeline or stage is complete.
In this liveProject, you’ll use Jenkinsfile to store pipeline script in a version control system. You’ll first create a declarative pipeline using Jenkinsfile, then generate a pipeline script using pipeline syntax. These challenges will help build your understanding of the basics of pipeline creation in declarative syntax.
In this liveProject, you’ll overhaul the CI/CD pipeline of a news and entertainment company to make it fit-for-purpose for an Agile cultural transformation. In order to create a pipeline that can manage quality, execute tests, calculate code coverage, and efficiently deploy applications or microservices, you’ve decided to implement pipeline-as-code. You’ll use Jenkins for the setup, then automate tasks and ensure they’re reliable, efficient, and repeatable. Your challenges include installing Jenkins, executing your pipeline to automation requirements, distributing architecture to manage the load on Jenkins, and quickly executing modifications to your pipeline.