2. Introduction
Microsoft MVP –
Developer Technologies
(2009-2020, 11 years)
Over 20 years in tech,
including developer
roles and IT admin roles
BS, Computer Science &
Engineering Technology
3. Agenda
What is Azure DevOps?
Why should Developers Care?
Quick Intro to Source Control
Look into Azure DevOps features
SQL Server Data Tools (SSDT)
More In-Depth Look at a Project
6. High Level Overview
Allows continuous integration (CI) and continuous
delivery (CD) through automation using pipelines
Can break projects into epics, features, backlog items,
tasks, bugs, and other manageable chunks
Can track work against the chunks
Can store versions of code using Git
7. Benefits for Developers
Track coding against work items – explains value to
the client
Schema comparison – easy generation of incremental
change scripts for database work… in source control!
Code review and change tracking through source
control
Automate deployment processes
10. Basic Terms
Repository – collection of related code stored
together
Branch - line of development
Clone – make a copy of the repository
Pull – get the changes from the server
Push – send your changes to the server
Commit – capture this set of code changing
13. Additional Branches
Feature Branches – currently in development,
typically running on local machines
Release Branches – waiting to be deployed to
production
Hotfix Branches – for when things go wrong in
production and they need fixed
14. Initial Flow
1. Create the repository
2. Clone it locally
3. Write code in the cloned folder
4. Add the changes to the staged changeset
5. Commit the changes
6. Push the changes
15. Flow Going Foward
1. Pull latest changes
2. Make more changes
3. Stage the changes
4. Commit the changes
5. Push the changes
16. Pull Requests
Bring the code from one branch into another branch
If you can’t push directly to a branch, a pull request is
needed.
Can be set for approvals, relying on code to build,
relying on code to be tested, various other gates
17. Sample Pull Request Requirements
Configurable by DevOps
admin
Example
x # of reviewers
Linked work items
Comments resolved
Successful build
Code coverage check
22. Work Item Process - Agile
Allows
backlogs
Allows
bugs to
have tasks
Image taken from https://docs.microsoft.com/en-us/azure/devops/boards/work-items/guidance/choose-process?view=azure-devops
23. Work Item Process - Scrum
Similar to
Agile
User Story vs
Product
Backlog Item
Issue vs
Impediment Image taken from https://docs.microsoft.com/en-us/azure/devops/boards/work-items/guidance/choose-process?view=azure-devops
24. Work Item Process - CMMI
Capability
Maturity
Model
Integration
More formal
processes
and change
management Image taken from https://docs.microsoft.com/en-us/azure/devops/boards/work-items/guidance/choose-process?view=azure-devops
30. Builds vs Releases
Builds
Compile the code
Build the DACPACs, change scripts, etc.
Releases
Deploy the code
Update databases with DACPACs, change scripts, etc.
Can trigger releases based off of builds
31. Deployment Groups
Seen with Release pipelines
Used for deploying to particular resources
Can be used for deploying to Azure or to local
resources
33. Artifacts
Custom Nuget packages
Can store different “views”
Dev branch would commonly be on a Prerelease View
Master branch would commonly refer to libraries on a
Release View
35. SSDT Versions
Visual Studio 2019
Database Projects - Data Storage and Processing workload
AS, IS, RS – extensions
Visual Studio 2017
Database Projects - Data Storage and Processing workload
AS, IS, RS – SSDT 2017 download
SSDT Standalone
Still available, but recommended to use Visual Studio
38. Ways to Start a Database Project
From scratch
Import from database connection
Import from script
Import from DACPAC
39. Starting Source of Truth
Which to start with?
Typically, Production – what does the world know today?
Can build change scripts or migrations to go from prod to
dev
Schema compare can help with that too
40. Tooling Used
Visual Studio 2019 Community Edition
SQL Server 2017 Developer Edition
Azure DevOps
Note that there are both Cloud and Server SKUs available
42. AdventureWorks Demo Plan
Starting with base solution
Adding more data to the Person table
Explore a use case not thought of
Alter table
Alter data for the use case
43. Once scripted in a Database
project, let the code be the
source of truth.