Azure DevOps Team Projects
Azure DevOps is the collaboration hub offered by Microsoft for everyone in
the development team, including project managers, testers, architects,
developers and end-users. Here we will create a team project and configure
- Development Processes
- Team Projects and Process Templates
- LAB: Creating and configuring your team project
Sources are probably the most important part in any software project and
we need a way to keep track of all sources and all changes. Azure Repos
gives you the choice between TFVS and Git for storing your source history,
branching, merging and everything else required.
- Version Control concepts
- Distributed Source Control with Git
- Git Clients: Command Line, Visual Studio or Visual Studio Code
- Creating a local repository
- Configuring your git repository
- Checking the status of your repo
- Staging files
- Committing files, and then amending it
- Comparing changes in files
- Reverting commits
- Finding the bad change using git bisect
- LAB: Working with a local repository
Team collaboration with remote repositories
Multiple developers working on the same code base requires some central
place for all your code and changes. In Git these are known as remote
- Team collaboration with remote repositories
- Cloning a remote repository
- Synchronizing with a remote repository
- Resolving conflicts
- Using Git Hooks
- LAB: Working with remote repositories
Working in isolation with branches
How can we avoid code changes from one developer interfering with someone else's code? Branching has always been used to allow developers to
complete their changes before integrating with other's.
- Adding branches to your workflow
- Branching Strategies - Using GitFlow
- Merge vs. Rebase - keeping a linear history
- Different Merge Strategies, i.e. Squash Merge
- Managing your branches
- LAB: Working with branches in git
Team Collaboration with Pull Requests
Working as a team on the same code base comes with its own challenges.
Things like false cognates, code conventions, SOLID principles etc. could
result in good or bad code quality. Pull requests allow you to ensure that
your code keeps its high quality.
- Protecting your branches with pull requests
- Ensuring high quality code with Pull Requests
- Versioning with Git Tags
- Using Forks
- LAB: Team collaboration with Pull Requests
Continuous Integration with Azure Pipelines
To build quality software, and to limit nasty integration problems at the
end of the project, doing a daily build is long regarded as a best
practice. Azure DevOps makes building daily very easy through the build
system. You'll learn how to manage the build, do desktop builds, and how
you can setup Team Build to work in a continuous integration environment.
You'll then learn how to customize the build process to perform all your
build steps including running unit tests, creating custom build actions,
generating setup programs and deploying to staging servers.
- What is Team Build?
- Doing Continuous integration
- Authoring build using the designer and yaml
- What are stages, jobs, tasks?
- Integrating with other systems (such as Azure and GitHub) using Service Connections
- What are Build Agents?
- Setting up a build agent in your enterprise network
- LAB: Setting up and running a build definition
Continuous Deployment with Azure Pipelines
With continuous deployment you can automatically setup a machine in a consistent state, whenever you want.
Not only can you deploy your application, but also setup your infrastructure.
- Release management and continuous deployment
- Release definitions
- Approving releases with release gates
- Choosing between deployment patterns
- Notifications with Service Hooks
- LAB: Continous Deployment with a release definition
In this course you will learn about using Azure DevOps to manage the application development
lifecycle. This training will show you the role of the project manager,
developer and tester in this process and how DevOps can improve the
efficiency and code quality of your team. You will perform project management,
source control (no real coding skill required for the exercise), testing
and build automation with Azure DevOps.
.NET developers, project managers, testers and anyone who is involved in
application development. Exercices don't require real coding skills as they
are for illustrating the workflow with Azure DevOps.