DevOps
General
Training
Architecting CI/CD Pipelines (CICD)
This course covers what attendees need to design successful CI / CD pipelines using a variety of popular platforms including GitHub Actions, GitLab CI/CD, and Jenkins. Students will write a variety of code including Python and Ansible scripting, that will trigger a variety of automated behaviors upon git commits and pull (or merge) requests. Some of the triggered DevOps automations include testing, running scripts, building and releasing containerized services. DevSecOps paradigms include running security apps such as password and token detection, as well as other popular DAST and SAST tools.
About the course
Course Objectives:
- Building custom Continuous Integration (CI) and Continuous Deployment (CD) workflows
- Take control of project flows build Python, Ansible, and GoLang applications
- Practice team collaboration methods for projects and advancing code
- How Git and GitHub actions can trigger builds, testing, and deployment of container images to production environments, such as Azure App service, and Kubernetes
- DAST and SAST tools relating to DevSecOps practices
- AI LLM prompt engineering for relevant configuration snippets and solutions
Course content
Intro
- Introduction to Git
- Git Branching
Core Git Concepts
- Revision Control with GitHub
- Pull Requests
- Collaborating with the Team
- GitHub Desktop
Core CI / CD Concepts
- Intro to DevOps
- Docker Containers
- Dockerizing A Python Flask App or Creating A Container Image
GitHub Actions
- GitHub Actions – Automatically Triggered Events
- GitHub Actions – Manually Triggered
GitLab
- Up and Running with GitLab
- Generating and Using SSH Keys
- Git and GitLab Interaction
- Fixing Merge Conflicts
- Writing Markdown in GitLab
- GitLab Project Wikis
- GitLab Collaboration
- GitLab Webhooks
- GitLab API Calls
GitLab CI CD
- Introduction to CI CD
- Building a Docker Image
- Creating gitlab-ci.yml
- Lifecycling a GoLang App with GitLab
- GitLab Container Repository
- GitLab Integration with Kubernetes Clusters
DevSecOps
- Intro to DevOps
- GitHub Actions - GitLeaks
- GitHub Actions – Terraform
- GitLab gitlab-ci.yml – DevSecOps as a Service
Jenkins Basics
- Deploying Jenkins with Docker
- Jenkins Dashboard
- Freestyle Projects and Workspaces
- Triggering Jenkins Builds with WebHooks
- Installing Jenkins Plugins
Scripting
- Docker Build Agents
- Python Builds
- Ansible Builds
CI / CD
- Continuous Integration
- Creating Jenkins Scripted Pipelines
- Declarative vs Scripted Pipelines
- Jenkins REST API
Ansible
- Ansible Overview
- Understanding YAML
- Introduction to Playbooks
- Playbooks and Variables
- Ansible Modules
- Architecting Pipelines with Ansible
Capstone
- Architecting a GitHub CI / CD Pipeline
- Architecting a GitLab CI / CD Pipeline
- Webhooking Jenkins for CI / CD Automation
Who Should Attend
- DevOps Engineers
- Software Developers
- Marketing and Sales Engineers
- Telecommunications Professionals
- Managers and Directors
- Quality Assurance & Site Reliability Professionals