EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

Jenkins and CI CD Integration

Course outline

5 days

Duration

Jenkins and CI/CD Integration

5 days

Overview

This 5-day intensive course provides a comprehensive overview of DevOps principles and practices, with a focus on Continuous Integration and Continuous Delivery (CI/CD) using Jenkins. Participants will learn to create and manage CI/CD pipelines, integrate Jenkins with GitHub and cloud native technologies, and deploy applications seamlessly. Through hands-on labs and interactive sessions, attendees will gain practical experience in setting up, configuring, and maintaining Jenkins pipelines in real-world scenarios.

Learning Objectives

By the end of this course, participants will be able to:

  • Understand the fundamental principles and practices of DevOps.
  • Explain the concepts and benefits of Continuous Integration and Continuous Delivery.
  • Install, configure, and use Jenkins to create CI/CD pipelines.
  • Integrate Jenkins with GitHub for source code management.
  • Build and deploy applications using Docker and Kubernetes.
  • Implement cloud native CI/CD pipelines using Jenkins.
  • Monitor, maintain, and secure CI/CD pipelines in a production environment.
  • Apply best practices for scaling and managing Jenkins in large projects.

Target Audience

This course is designed for:

  • DevOps Engineers who want to deepen their knowledge of Jenkins and CI/CD.
  • Software Developers and Engineers interested in automating their build, test, and deployment processes.
  • IT Operations Professionals who want to learn about continuous integration and deployment.
  • System Administrators tasked with managing CI/CD infrastructure.
  • Technical Leads and Project Managers who need to understand the principles and implementation of CI/CD.
  • Anyone involved in the software development lifecycle looking to improve efficiency and collaboration through DevOps practices.

Day 1: DevOps Overview

  • Introduction to DevOps
  • Definition and key principles of DevOps
  • History and evolution of DevOps
  • Benefits of implementing DevOps practices
  • DevOps Culture and Practices
  • Collaboration and communication in DevOps teams
  • Key practices: Continuous Integration, Continuous Delivery, Continuous Deployment, Infrastructure as Code, Monitoring and Logging
  • Case studies of successful DevOps implementations
  • DevOps Tools and Technologies
  • Overview of popular DevOps tools (e.g., Jenkins, Docker, Kubernetes, Git)
  • Criteria for selecting tools for your DevOps toolchain
  • Integration of DevOps tools into a seamless workflow
  • Challenges and Solutions in DevOps
  • Common challenges in adopting DevOps
  • Strategies to overcome these challenges
  • Real-world examples and best practices

Day 2: Continuous Integration and Continuous Delivery (CI/CD)

  • Introduction to CI/CD
  • Definitions and differences between CI, CD, and CD (Continuous Deployment)
  • Importance and benefits of CI/CD in the software development lifecycle
  • CI/CD Pipeline Concepts
  • Stages of a CI/CD pipeline: Source, Build, Test, Deploy
  • Pipeline as Code: Defining pipelines using code (e.g., Jenkinsfile)
  • Key metrics for measuring CI/CD performance
  • Tools and Technologies for CI/CD
  • Overview of CI/CD tools: Jenkins, Travis CI, CircleCI, GitLab CI
  • Comparison of different CI/CD tools
  • Integration of CI/CD tools with version control systems (e.g., GitHub)
  • Best Practices for CI/CD Implementation
  • Strategies for efficient and reliable CI/CD pipelines
  • Handling failures and rollback mechanisms
  • Security considerations in CI/CD pipelines

Days 3-5: CI/CD with Jenkins, GitHub, and Cloud Native Integration

Day 3: Jenkins Fundamentals

  • Introduction to Jenkins
  • What is Jenkins and its role in CI/CD
  • Jenkins architecture and components
  • Installation and setup of Jenkins
  • Basic Jenkins Configuration
  • Setting up Jenkins jobs
  • Configuring Jenkins plugins
  • Jenkins security and user management
  • Creating a Simple CI Pipeline with Jenkins
  • Configuring a Jenkins job to pull code from GitHub
  • Building and testing the code
  • Setting up notifications for build results

Day 4: Advanced Jenkins Usage

  • Advanced Jenkins Configuration
  • Using Jenkinsfiles for Pipeline as Code
  • Configuring multi-branch pipelines
  • Parallel and sequential stages in Jenkins pipelines
  • Integrating Jenkins with Other Tools
  • Integration with GitHub: Webhooks, OAuth
  • Integration with Docker: Building and pushing Docker images
  • Integration with Kubernetes: Deploying applications to Kubernetes clusters
  • Monitoring and Maintenance of Jenkins Pipelines
  • Monitoring Jenkins jobs and pipelines
  • Backup and restore Jenkins configuration
  • Troubleshooting common Jenkins issues

Day 5: Cloud Native CI/CD with Jenkins

  • Introduction to Cloud Native CI/CD
  • Definition and principles of cloud native applications
  • Benefits of cloud native CI/CD pipelines
  • Jenkins and Cloud Native Technologies
  • Using Jenkins with Kubernetes and Docker
  • Leveraging cloud services (e.g., AWS, Azure, GCP) for CI/CD
  • End-to-End CI/CD Pipeline with Jenkins
  • Configuring a full CI/CD pipeline from code commit to deployment
  • Automating tests and deployments using Jenkins, Docker, and Kubernetes
  • Managing secrets and configurations in CI/CD pipelines
  • Best Practices and Advanced Topics
  • Scaling Jenkins for large projects
  • Securing CI/CD pipelines in a cloud native environment
  • Continuous monitoring and feedback loops

Programme scope, delivery arrangements and suitability are confirmed during enquiry.