Hands-On Continuous Integration and Automation with Jenkins
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. This video course will focus on the latest stable release of Jenkins 2, with features such as Pipeline as Code, new setup experiences, and an improved UI. You will be able to build simple or advanced pipelines easily and rapidly, hence improving your team’s productivity.
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.
About The Author
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.
This video will give you an overview about the course.
This video describes what Jenkins is and how it used for.
- Describe what is Jenkins
- Describe what Jenkins is used for
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
This video shows how to install Jenkins on macOS.
- Describe options to install Jenkins on macOS
- Install Jenkins using brew
This video shows how to install Jenkins on Linux.
- Describe options to install Jenkins on Linux distributions
- Install Jenkins on Ubuntu
This video shows how to install Jenkins with Docker.
- Describe what is Docker
- Install Jenkins with Docker
Tour of Jenkins
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
This video explores configuration options in a job.
- Configure a job
- Run a job
- Learn key terminology
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
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
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
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
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
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
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
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
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
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
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
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
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
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
This video installs Blue Ocean and shows how to access it.
- Install Blue Ocean
- Access Blue Ocean
- Switch between Blue Ocean and classic UI
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
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
Integration with AWS
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
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
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
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
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