A3CICD: Architecting CI/CD Pipelines and Automations
About this Course
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.
Review outline here: https://alta3.com/courses/cicd
Audience Profile
• This course is applicable training for all persons looking to understand how CI / CD automated processes tie into Software Control Management (SCM) techniques
• DevOps Engineers
• Software Developers
• Marketing and Sales Engineers
• Managers and Directors
• Quality Assurance & Site Reliability Professionals
At Course Completion
By the conclusion of this course, attendees will learn to use Git GitHub, GitLab, and Jenkins to manage and automate the release of code:
• 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
Outline
AI LLM Toolkit
• 💻 Lecture + Lab: Large Language Model toolkit for AI Solution Assistance
Core Git Concepts
• 💻 Lecture + Lab: Introduction to Git
• 💻 Lecture + Lab: Git Branching
GitHub
• 💻 Lecture + Lab: Revision Control with GitHub
• 💻 Lecture + Lab: Pull Requests
• 💻 Lecture + Lab: Collaborating with the Team
• 💻 Lecture + Lab: GitHub Desktop
Core CI / CD Concepts
• 💻 Lecture + Lab: Intro to DevOps
• 💻 Lecture + Lab: Docker Containers
• 💻 Lecture + Lab: Dockerizing A Python Flask App or Creating A Container Image
GitHub Actions
• 💻 Lecture + Lab: GitHub Actions – Automatically Triggered Events
• 💻 Lecture + Lab: GitHub Actions – Manually Triggered
GitLab
• 💻 Lecture + Lab: Up and Running with GitLab
• 💻 Lecture + Lab: Generating and Using SSH Keys
• 💻 Lecture + Lab: Git and GitLab Interaction
• 💻 Lecture + Lab: Fixing Merge Conflicts
• 💻 Lecture + Lab: Writing Markdown in GitLab
• 💻 Lecture + Lab: GitLab Project Wikis
• 💻 Lecture + Lab: GitLab Collaboration
• 💻 Lecture + Lab: GitLab Webhooks
• 💻 Lecture + Lab: GitLab API Calls
GitLab CI CD
• 💻 Lecture + Lab: Introduction to CI CD
• 💻 Lecture + Lab: Building a Docker Image
• 💻 Lecture + Lab: Creating gitlab-ci.yml
• 💻 Lecture + Lab: Lifecycling a GoLang App with GitLab
• 💻 Lecture + Lab: GitLab Container Repository
• 💻 Lecture + Lab: GitLab Integration with Kubernetes Clusters
DevSecOps
• 💻 Lecture + Lab: Intro to DevOps
• 💻 Lecture + Lab: GitHub Actions - GitLeaks
• 💻 Lecture + Lab: GitHub Actions – Terraform
• 💻 Lecture + Lab: GitLab gitlab-ci.yml – DevSecOps as a Service
Jenkins Basics
• 💻 Lecture + Lab: Deploying Jenkins with Docker
• 💻 Lecture + Lab: Jenkins Dashboard
• 💻 Lecture + Lab: Freestyle Projects and Workspaces
• 💻 Lecture + Lab: Triggering Jenkins Builds with WebHooks
• 💻 Lecture + Lab: Installing Jenkins Plugins
Scripting
• 💻 Lecture + Lab: Docker Build Agents
• 💻 Lecture + Lab: Python Builds
• 💻 Lecture + Lab: Ansible Builds
CI / CD
• 💻 Lecture + Lab: Continuous Integration
• 💻 Lecture + Lab: Creating Jenkins Scripted Pipelines
• 💻 Lecture + Lab: Declarative vs Scripted Pipelines
• 💻 Lecture + Lab: Jenkins REST API
Ansible
• 💻 Lecture + Lab: Ansible Overview
• 💻 Lecture + Lab: Understanding YAML
• 💻 Lecture + Lab: Introduction to Playbooks
• 💻 Lecture + Lab: Playbooks and Variables
• 💻 Lecture + Lab: Ansible Modules
• 💻 Lecture + Lab: Architecting Pipelines with Ansible
Capstone
• 💻 Architecting a GitHub CI / CD Pipeline
• 💻 Architecting a GitLab CI / CD Pipeline
• 💻 Webhooking Jenkins for CI / CD Automation