-
🌟 DevOps Introduction
-
🛠️ DevOps Tools
-
🔄 Different practices of DevOps - Agile, Scrum, etc.
-
🌐 Azure DevOps URL walkthrough, user creation
Task 1: 🐞 Create an Agile Project and different work items in Azure boards.
-
📂 Azure Repos overview, Git basics
-
🌿 Branching strategies for the source code - feature, release, trunk
-
🔄 Pull request workflow by using branch policies and branch protections
Task 2: ⬆️ Create a repo in Azure Repos and push code
Task 3: 🌲 Create a new develop branch from master
Task 4: ⚔️ Create and resolve conflicts in branches (learn) -
🔄 Different merging strategies in Azure Repos
-
🚫 Branch merging restrictions by using branch policies and branch protections
-
🔐 Configure permissions in the source control repository
Task 5: 🔄 Merge a branch using squash merge with PR
Task 6: 🔄 Merge a branch using rebase with some commits ahead
Task 7: 📜 Create branch policies for main branches
Task 8: ✔️ Build validation, status checks
Task 9: 🔗 Add reviewers in PR, link work items at all stages (commit, PR, merge)
Task 10: 🔒 Lock a branch
-
📊 Azure Pipelines and GitHub Actions Overview
-
🖥️ Configure Agents: Microsoft-hosted, Self-hosted for Azure Pipelines and GitHub Actions Runners
-
🏗️ Pipeline Creation: Classic pipeline (Azure DevOps) and GitHub Actions workflow-based setup
-
📄 YAML-based Pipeline Creation: Define CI/CD workflows using YAML in Azure Pipelines and GitHub Actions
-
🔍 Integrate with External Tools: Dependency scanning, security scanning, and code coverage in both platforms
-
🚪 Implement Quality & Release Gates: Security, governance, and approval policies in Azure Pipelines and GitHub Actions
-
🔬 Automated Testing in Pipelines: Unit, integration, and end-to-end tests in Azure Pipelines and GitHub Actions
-
🌍 Deployment Strategies: Azure Pipeline Environments, Deployment Groups, and GitHub Actions Environments
-
🐳 Container-based Workflows: Run jobs in containers in Azure Pipelines and GitHub Actions
-
🚀 Deployment Strategies: RunOnce, Rolling, Canary in Azure Pipelines; Matrix and Custom Deployment Strategies in GitHub Actions
-
⏳ Advanced Pipeline Configuration: Branch filters, scheduled builds in Azure Pipelines and GitHub Actions
-
⏱️ Optimizing Build Time: Parallel jobs, caching, and artifact management
-
🔑 Permissions & Security: Configure access control in Azure Pipelines and GitHub Actions (Service Connections, Secrets, Tokens)
-
🐞 Troubleshooting Pipelines: Debugging Azure Pipelines and GitHub Actions workflows
-
♻️ Reusable CI/CD Elements: YAML templates, task groups, composite actions, reusable workflows
-
📈 Monitor Pipeline Health: Failure rates, duration, flaky tests in Azure Pipelines and GitHub Actions
-
🚀 CI/CD with GitHub Actions & Azure Pipelines: Build, test, and deploy workflows
-
🔒 Secret Management: Secure variables, encrypted secrets, and vault integration in Azure Pipelines & GitHub Actions
Task 11: 🖥️ Create a CI pipeline for your favorite programming language using Azure Pipelines (Microsoft-hosted) and GitHub Actions (Hosted Runners)
Task 12: 🖥️ Use self-hosted agents/runners for the same CI pipeline in both Azure DevOps Pipelines and GitHub Actions
Task 13: 🖥️ Configure multiple agents/runners from a single VM for Azure Pipelines and GitHub Actions
Task 14: 📝 Implement CI using YAML-based pipelines in both Azure DevOps Pipelines and GitHub Actions; explore Classic pipelines in Azure DevOps
Task 15: 🌐 Deploy an application to Azure WebApp using both Azure Pipelines and GitHub Actions
Task 16: 🔐 Secure pipelines by integrating Azure Key Vault for secret management in both Azure DevOps Pipelines and GitHub Actions Secrets
Task 17: 🔍 Implement a full CI/CD pipeline using GitHub Actions and Azure DevOps Pipelines, including code scanning and security analysis
-
📦 Azure , GitHub Artifacts overview
-
🛠️ Package management implementation that uses Azure Artifacts, GitHub Packages, NuGet, and npm
-
🔄 Implement a versioning strategy for pipeline artifacts
-
🧪 Azure Test Plans overview - manual testing addon example
-
🏗️ Infrastructure as Code overview
-
📜 ARM, BICEP, TERRAFORM introduction
-
🔧 IaC strategy, including source control and automation of testing and deployment
-
🔍 Automate security and compliance scanning
-
🛡️ Automate analysis of source code by using GitHub code scanning, GitHub secrets scanning, pipeline-based scans, and SonarQube
-
📦 Automate analysis of licensing, vulnerabilities, and versioning of open-source components by using Mend Bolt and GitHub Dependency Scanning
Task 18: 🏗️ Create ARM deployment stage with ADO pipeline
Task 19: 🌍 Create resources using Terraform with ADO pipeline
Task 20: 🔍 Include security scanning for resources using Code
Task 21: 🛡️ Dependabot, security enablement in GitHub Repos
-
🆚 Docker introduction, VM vs Containers
-
🏗️ Creation of Docker images: core build block
-
📦 Manage data and working with volumes in Docker
-
🌐 Container network communication basics
-
🐙 Kubernetes introduction
-
⚙️ Kubernetes pods, ReplicaSet, deployments, services creation using imperative and declarative ways
-
🔗 Integration of Azure Kubernetes with Azure files, storage disks for persistent storage
-
🛠️ Kubernetes cordon, taints, node affinity, cordon, etc.
-
🚪 Kubernetes ingress basics
-
🤖 Working with ChatGPT for code creation for Dockerfile, Kubernetes YAML files
Task 22: 🛠️ Installation of Docker, Minikube, Docker Kubernetes extension
Task 23: 📦 Create Docker image using Dockerfile
Task 24: 💾 Store container data in volumes
Task 25: 📦 Create multi-stage Docker image using Dockerfile
Task 26: 🚀 Deploy Kubernetes YAML files in Minikube and AKS
Feel free to raise PRs to enhance this repository with additional use cases and examples.