Mastering CI-CD and Software Development Lifecycle
Master continuous integration and continuous deployment (CI / CD) and gain hands-on experience on managing Software Development Lifecycles.
-
Comprehensive Learning
Gain a solid understanding of CI - CD principles.
-
Hands-On Experience
Setting up and managing CI - CD pipelines using Jenkins or GitLab.
-
Career Advancement
Comprehensive view of Software Development Lifecycles and how CI - CD fits in.
Module #1 : Introduction & Fundamentals
Session 1: Introduction to CI/CD
- Understanding CI/CD concepts and benefits.
- Overview of the Software Development Lifecycle (SDLC).
- Key differences between CI, CD, and traditional development methods.
Session 2: CI/CD Architecture & Pipelines
- CI/CD architecture and best practices.
- Designing and setting up CI/CD pipelines.
- Introduction to pipeline stages: build, test, deploy, monitor.
Session 3: Hands-On Exercise
- Setting up a local development environment.
- Introduction to Jenkins/GitLab.
- Creating a basic CI/CD pipeline using Jenkins/GitLab.
Module #2 : Tools & Integration
Day 2: Deep Dive into Tools & Integration
Session 4: CI/CD Tool Setup
- Installing and configuring Jenkins/GitLab.
- Exploring Jenkins plugins and GitLab runners.
- Integrating version control systems (e.g., Git).
Session 5: Testing & Deployment
- Automated testing and its importance in CI/CD.
- Integration testing with open-source tools.
- Deployment strategies: rolling, blue-green, canary.
Session 6: Hands-On Exercise
- Creating a Jenkins/GitLab pipeline that includes build, test, and deploy stages.
- Implementing automated tests using a sample project.
- Deploying the sample project to a staging environment.
Module #3: Monitoring & Advanced Topics
Session 7: Monitoring & Feedback Loops
- Importance of monitoring in CI/CD.
- Setting up monitoring tools (e.g., Prometheus, Grafana).
- Integrating feedback loops for continuous improvement.
Session 8: Advanced CI/CD Practices
- Infrastructure as Code (IaC) with tools like Terraform.
- Security in CI/CD pipelines.
- Scaling CI/CD pipelines for large teams/projects.
Session 9: Final Hands-On Exercise
- Building a full-fledged CI/CD pipeline with Jenkins/GitLab for a web application.
- Integrating monitoring and feedback loops.
- Reviewing and optimizing the pipeline for efficiency and reliability.
Module #5 : CI/CD Pipeline Exercise with Jenkins/GitLab
Objective:Â
Implement a simple CI/CD pipeline using open-source tools (Jenkins or GitLab).
Steps:
Setup:
Install Jenkins/GitLab on your local machine or use a cloud-based instance.
Connect Jenkins/GitLab to your version control system (e.g., GitHub).
Create a Sample Project:
- Clone/Create a sample project repository (e.g., a “Hello World” web application).
Pipeline Configuration:
- Create a new pipeline in Jenkins/GitLab. – Define stages: build, test, deploy.
- Configure automated build triggers (e.g., on every commit or pull request).
Automated Testing:
- Add unit and integration tests to your project.
- Configure the pipeline to run these tests automatically.
Deployment:
- Define deployment scripts (e.g., shell scripts, Ansible playbooks).
- Set up deployment to a staging environment (e.g., Docker container, virtual machine).
Monitoring:
- Integrate monitoring tools (e.g., Prometheus, Grafana) to monitor the deployed application.
- Set up alerts for failures or performance issues.
Review & Optimize:
- Review the pipeline setup.
- Optimize for efficiency (e.g., parallel stages, caching).
- Document the process and key learnings.
Dive into the world of programming with our engaging and interactive courses! Designed for participants of all skill level.
Explore the fundamentals of coding through hands-on exercises and fun projects, guided by expert IT engineers and tutors.
With modules lasting 2 hours each, the modular structure of our course topics ensures flexibility for those with busy schedules.
Join us here or at our easily accessible locations and start your journey to becoming a proficient developer today!