Duration 3 days – 21 hrs
Overview
This 3-day hands-on training equips participants with the skills to design, implement, and manage Continuous Integration/Continuous Deployment (CI/CD) pipelines using Jenkins and GitLab CI, while automating infrastructure and deployment tasks with Ansible.
The course covers best practices in pipeline creation, automation scripting, and integrating testing and security into the delivery process. By the end of the training, participants will be able to build reliable, automated delivery workflows for applications and infrastructure.
Objectives
- Understand the fundamentals and benefits of CI/CD in DevOps.
- Install, configure, and manage Jenkins and GitLab CI environments.
- Build automated pipelines for code integration, testing, and deployment.
- Write and execute Ansible playbooks for configuration management.
- Integrate Ansible automation into CI/CD pipelines.
- Apply best practices for securing and optimizing pipelines.
Audience
- DevOps engineers and automation specialists.
- System administrators and software engineers implementing CI/CD.
- Developers aiming to automate builds, tests, and deployments.
- IT teams transitioning to DevOps workflows.
Pre-requisites
- Basic understanding of software development workflows.
- Familiarity with Git version control.
- Basic Linux command-line skills.
- Understanding of application deployment processes (preferred).
Course Content
Day 1 CI/CD Foundations & Jenkins
Module 1 Introduction to CI/CD and DevOps
- Benefits and key concepts of CI/CD
- CI/CD workflows and toolchains
- Role of Jenkins, GitLab CI, and Ansible in DevOps
Module 2 Jenkins Setup and Configuration
- Installing Jenkins (local & containerized)
- Jenkins UI overview and plugin management
- Configuring credentials and security
Module 3 Creating Jenkins Pipelines
- Freestyle vs. Pipeline jobs
- Declarative pipeline syntax
- Automating builds and tests
- Hands-on: Building a simple Java/Node.js application pipeline
Day 2 GitLab CI/CD & Pipeline Management
Module 4 GitLab CI/CD Overview
- Introduction to GitLab runners and pipelines
- .gitlab-ci.yml structure and syntax
- Setting up GitLab runners (shared & specific)
Module 5 Creating GitLab Pipelines
- Defining stages, jobs, and artifacts
- Running automated tests in pipelines
- Triggering pipelines on push and merge requests
- Hands-on: Building and deploying a sample application with GitLab CI
Module 6 CI/CD Best Practices
- Environment promotion (Dev, QA, Prod)
- Integrating code quality and security scans
- Pipeline optimization techniques
Day 3 Ansible Coding & Integration with CI/CD
Module 7 Introduction to Ansible
- Ansible architecture and workflow
- Writing and running ad-hoc commands
- Creating and executing playbooks
Module 8 Automating Infrastructure with Ansible
- Using roles, variables, and templates
- Managing application configurations
- Deploying software with Ansible
Module 9 Integrating Ansible with Jenkins & GitLab CI
- Calling Ansible playbooks from pipelines
- Automating infrastructure provisioning and app deployment
- Hands-on: Full CI/CD pipeline with Jenkins/GitLab CI + Ansible

