Mastering Azure Devops CI/CD Pipelines with YAML
Mastering Azure Devops CI/CD Pipelines with YAML, Create CI/CD pipelines for Azure DevOps using YAML. Automation examples from real world scenarios.
Course Description
In this course you will learn how to master Azure YAML pipelines by building real world scenarios from production setups. The main goal of this course is to familiarise yourself with the available commands that Microsoft provides on the pipelines in order to build complex automation projects. Course is focused on practical examples of pipeline use cases that you can build and exercise on Azure DevOps platform. Those examples vary and depend on various services either azure internal or external that you can use plug n play in order to build, deploy and secure your infrastructure and deployments. Through the curriculum you can learn all the components required in order to create automation cases and understand how the tooling works in depth.
Some of the objectives that you will learn are:
- cron schedules
- build pipelines
- release pipelines
- repositories
- devops tools
- environments
- approvals
- variables and parameters
- devops agents
DevOps tools that are covered through this course:
- Python
- Terraform
- Ansible
- .NET
- NodeJS
- Azure Web apps
- azure cli
- Kubernetes
- Docker
- DevSecOps
DevSecOps tools that are covered through this course:
- Sonarqube
- Trivy
- Gitleaks
- Snyk
Examples pipelines that are included:
- hello-world-pipeline
Create a hello world YAML pipeline - share-variables
Share local variables between jobs and tasks - predefined-variables
Use predefined variables for Working Directories, Git Repositories and Artifacts - build-strategy
Build pipelines continuous integration strategy - terraform-az-lin-win
Terraform pipeline to provision resources on Azure - rest-api-object
Pipeline which triggers a pipeline using Azure devops REST Api - called-from-rest-api
Pipeline with a parameter object as input which should be called from a REST API - unit-tests-azuredevops
Build unit tests and publish on Azure devops - conditions
Conditionally run tasks inside pipelines - build-dotnet
Build a .NET application - deploy-appservice
Build and deploy appservice on Azure - pipeline-templates
Using a template structure for devops pipelines - start-vm-loop
Start VMs on Azure using loops - cron-schedule
Run a pipeline based on a cron schedule - environmet-approval
Create build and release pipelines approvals using environments - multi-repo-checkout
Checkout multiple git repositories on azure devops pipelines - variables-parameters
Using variables and parameters on YAML pipelines - stages-jobs-tasks
Stages, jobs and tasks inside a YAML pipeline - execute-ansible
Execute ansible playbooks through azure devops - python-execution
Execute python scripts - build-nodejs
Build node JS applications using npm tool - update-build-number
Update pipeline name by changing build number - install-win-software
Install software (exe, msi) on windows machines - execute-command
Execute command on a virtual server without username and password - starting-template
Starting template with stage, job, tasks - push-package-feed
Push a package to Artifact feeds - kubernetes-deployment
Deploy nginx on kubernetes cluster - manual-validation
Execute tasks based on manual validation - jmeter-loadtest
Use Jmeter for performance testing - stage-dependencies
Create deployment workflows with stage dependencies - jobs-dependencies
Create execution workflows with job dependencies - dependson-variable
Dynamic dependencies with variables and parameters - acr-build-push
Build dotnet microservice and push on container registry - code-scan-trivy
Scan code projects with trivy - snyk-scan-container
Scan container images with snyk - gitleaks-scan
Scan for passwords and secrets with gitleaks - azure-load-testing
Load test websites with Azure Load testing - sonarqube-scan
Use Quality Gates and scan source code with sonarqube - run-pipeline-after-another
Run pipeline after another finishes execution - combined-template
Templates for jobs, tasks and stages(nested templates)