SlideShare a Scribd company logo
1 of 9
Microsoft Dynamics 365 User Group
Source Control and Release
Strategy for Dynamics 365
Solutions
Microsoft Dynamics 365 User Group
Hi! I’m Shane Carvalho
• Developer. Geek and Blogger *.
• Worked with small mobile applications to multi-tenant custom SASS
solutions in the .NET ecosystem.
• Dynamics CRM 4  Dynamics 365.
• Passion for ALM and DevOps with Visual Studio Team Services.
• Automate everything!!!
http://nullfactory.net http://github.com/shanec- @shanec_
Microsoft Dynamics 365 User Group
Microsoft Dynamics 365 User Group
But, wouldn’t it be nice to …
• Automatically maintain a history of what went into a release?
• What new features were included?
• What bugs were fixed?
• To have a single source of truth (not dependent on a CRM instance)
• Bespoke solutions (think branches)
• Track hot fixes.
• Rebuild your custom plugin/workflow assemblies – run unit tests and then
inject them into your crm solution as part of a single build.
• Rollback individual artifacts or commits.
• Compare differences between releases.
• git blame / tfsvc annotations.
• Automate the entire deployment a CRM solution with the click of a button?
Microsoft Dynamics 365 User Group
The Solution
• Project Structure
• Solution Packager compatible structure.
• Scaffolding via Yeoman generator (generator-nullfactory-xrm)
• Populates helper scripts and wires up the tools.
• Official SDK via NuGet.
• Open Source PowerShell Wrapper - Microsoft.Xrm.Data.PowerShell
• Source Control
• Build and Release Management
• Bring your own – compatible with most modern
source control, build and release tools.
Deployment Release
Team Build
Visual Studio Project Structure
Solution Packager
Microsoft Dynamics 365 User Group
Development
Environment
CRM Developer –
Technical
CRM Developer –
Functional
CRM Developer –
Technical
Build / Release Manager
CI Build
“Release” Build Deploy to UAT UAT
Environment
Pull Solution
Typical Application
Lifecycle
Apply Versioning
Microsoft Dynamics 365 User Group
Demo
Development
Environment
UAT
Environment
VSTS using Git Team Build Release
Management
Microsoft Dynamics 365 User Group
Now, what does this do for me?
• Standard way of storing and managing solution.
• Build CRM Solution independent of a “golden” CRM instance.
• Reproducible deployments between environments.
• Accountability
• (VSTS) Link work items / user stories directly to commits (pull requests) or change sets
which are then automatically linked to the next successful build and subsequent release.
• Code / Solution Integrity
• Automatically build continuous integration build to automatically execute unit tests and
continuous deployment of builds into test to that ensure the validity of your solution.
• Continuous Deployment
• Release
• Automate your releases to a single click of a button. No more “deployment guy”.
• Setup approval steps for releases
Microsoft Dynamics 365 User Group
Thank You
More information available at http://nullfactory.net
generator-nullfactory-xrm
[https://github.com/shanec-/generator-nullfactory-xrm]
• Feedback, Issues, feature requests.
• Fork, customize and contribute.
http://nullfactory.net http://github.com/shanec- @shanec_

More Related Content

What's hot

Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesAraf Karsh Hamid
 
Architecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzureArchitecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzurePedro Azevedo
 
ECS 2023 - Setup and implement a successful Microsoft Teams governance strate...
ECS 2023 - Setup and implement a successful Microsoft Teams governance strate...ECS 2023 - Setup and implement a successful Microsoft Teams governance strate...
ECS 2023 - Setup and implement a successful Microsoft Teams governance strate...Jasper Oosterveld
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An OverviewOliver Stadie
 
Agile Planning Powerpoint Presentation Slides
Agile Planning Powerpoint Presentation SlidesAgile Planning Powerpoint Presentation Slides
Agile Planning Powerpoint Presentation SlidesSlideTeam
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your OrganizationDalibor Blazevic
 
Microsoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureMicrosoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureNaveen Kumar
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceIntland Software GmbH
 
D365 Sales - Processes
D365 Sales - ProcessesD365 Sales - Processes
D365 Sales - ProcessesHungPham381
 
Release Management
Release Management Release Management
Release Management Vyom Labs
 
How to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft DynamicsHow to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft DynamicsGlobalLogic Ukraine
 
A Practical Guide to Scaling Agile
A Practical Guide to Scaling AgileA Practical Guide to Scaling Agile
A Practical Guide to Scaling AgileMariya Breyter
 
Agile DevOps Transformation Strategy
Agile DevOps Transformation StrategyAgile DevOps Transformation Strategy
Agile DevOps Transformation StrategySatish Nath
 
2022-04 VMware DevOps Loop.pptx.pdf
2022-04 VMware DevOps Loop.pptx.pdf2022-04 VMware DevOps Loop.pptx.pdf
2022-04 VMware DevOps Loop.pptx.pdfVMware Tanzu
 
Low code application platforms
Low code application platformsLow code application platforms
Low code application platformsMatthew Weaver
 

What's hot (20)

Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Architecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzureArchitecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and Azure
 
What is OutSystems?
What is OutSystems?What is OutSystems?
What is OutSystems?
 
ECS 2023 - Setup and implement a successful Microsoft Teams governance strate...
ECS 2023 - Setup and implement a successful Microsoft Teams governance strate...ECS 2023 - Setup and implement a successful Microsoft Teams governance strate...
ECS 2023 - Setup and implement a successful Microsoft Teams governance strate...
 
Microsoft dynamics
Microsoft dynamicsMicrosoft dynamics
Microsoft dynamics
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An Overview
 
Agile Planning Powerpoint Presentation Slides
Agile Planning Powerpoint Presentation SlidesAgile Planning Powerpoint Presentation Slides
Agile Planning Powerpoint Presentation Slides
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your Organization
 
Release management introduction v1.0 tj
Release management introduction v1.0 tjRelease management introduction v1.0 tj
Release management introduction v1.0 tj
 
mendix.ppt sateesh.pptx
mendix.ppt sateesh.pptxmendix.ppt sateesh.pptx
mendix.ppt sateesh.pptx
 
Microsoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureMicrosoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier Architecture
 
Mulesoft ppt
Mulesoft pptMulesoft ppt
Mulesoft ppt
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practice
 
D365 Sales - Processes
D365 Sales - ProcessesD365 Sales - Processes
D365 Sales - Processes
 
Release Management
Release Management Release Management
Release Management
 
How to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft DynamicsHow to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft Dynamics
 
A Practical Guide to Scaling Agile
A Practical Guide to Scaling AgileA Practical Guide to Scaling Agile
A Practical Guide to Scaling Agile
 
Agile DevOps Transformation Strategy
Agile DevOps Transformation StrategyAgile DevOps Transformation Strategy
Agile DevOps Transformation Strategy
 
2022-04 VMware DevOps Loop.pptx.pdf
2022-04 VMware DevOps Loop.pptx.pdf2022-04 VMware DevOps Loop.pptx.pdf
2022-04 VMware DevOps Loop.pptx.pdf
 
Low code application platforms
Low code application platformsLow code application platforms
Low code application platforms
 

Similar to Source Control and Release Strategy for Dynamics 365 Solutions

Zero To DevOps - Source Control and Release Strategy for Dynamics 365 Solutio...
Zero To DevOps - Source Control and Release Strategy for Dynamics 365 Solutio...Zero To DevOps - Source Control and Release Strategy for Dynamics 365 Solutio...
Zero To DevOps - Source Control and Release Strategy for Dynamics 365 Solutio...Shane Carvalho
 
Five ways to improve Quality and Productivity of your Development
Five ways to improve Quality and Productivity of your DevelopmentFive ways to improve Quality and Productivity of your Development
Five ways to improve Quality and Productivity of your DevelopmentJonas Rapp
 
Crm saturday madrid 2017 razwan - d365 solution release management
Crm saturday madrid 2017   razwan - d365 solution release managementCrm saturday madrid 2017   razwan - d365 solution release management
Crm saturday madrid 2017 razwan - d365 solution release managementDemian Raschkovan
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITVishnu Raju Datla
 
.netcampus2015 office365dev
.netcampus2015 office365dev.netcampus2015 office365dev
.netcampus2015 office365devGiuliano De Luca
 
Continuous Delivery with Dynamics CRM - extremeCRM 2014 Barcelona
Continuous Delivery with Dynamics CRM - extremeCRM 2014 BarcelonaContinuous Delivery with Dynamics CRM - extremeCRM 2014 Barcelona
Continuous Delivery with Dynamics CRM - extremeCRM 2014 BarcelonaWael Hamze
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 
Accelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft AzureAccelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft AzurePerficient, Inc.
 
Azure Devops Build Tools for Powerapps
Azure Devops Build Tools for PowerappsAzure Devops Build Tools for Powerapps
Azure Devops Build Tools for PowerappsJoost Veldhuis, MSc
 
Improving the Traceability and Reliability of CRM Implementations with TFS
Improving the Traceability and Reliability of CRM Implementations with TFSImproving the Traceability and Reliability of CRM Implementations with TFS
Improving the Traceability and Reliability of CRM Implementations with TFSIvan Kurtev
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)Serena Software
 
WDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxWDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxArthur240715
 
Sitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixSitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixPeter Nazarov
 
Devops a la sauce Microsoft
Devops a la sauce MicrosoftDevops a la sauce Microsoft
Devops a la sauce MicrosoftMicrosoft
 

Similar to Source Control and Release Strategy for Dynamics 365 Solutions (20)

Zero To DevOps - Source Control and Release Strategy for Dynamics 365 Solutio...
Zero To DevOps - Source Control and Release Strategy for Dynamics 365 Solutio...Zero To DevOps - Source Control and Release Strategy for Dynamics 365 Solutio...
Zero To DevOps - Source Control and Release Strategy for Dynamics 365 Solutio...
 
Five ways to improve Quality and Productivity of your Development
Five ways to improve Quality and Productivity of your DevelopmentFive ways to improve Quality and Productivity of your Development
Five ways to improve Quality and Productivity of your Development
 
Crm saturday madrid 2017 razwan - d365 solution release management
Crm saturday madrid 2017   razwan - d365 solution release managementCrm saturday madrid 2017   razwan - d365 solution release management
Crm saturday madrid 2017 razwan - d365 solution release management
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
.netcampus2015 office365dev
.netcampus2015 office365dev.netcampus2015 office365dev
.netcampus2015 office365dev
 
Continuous Delivery with Dynamics CRM - extremeCRM 2014 Barcelona
Continuous Delivery with Dynamics CRM - extremeCRM 2014 BarcelonaContinuous Delivery with Dynamics CRM - extremeCRM 2014 Barcelona
Continuous Delivery with Dynamics CRM - extremeCRM 2014 Barcelona
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Accelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft AzureAccelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft Azure
 
Azure Devops Build Tools for Powerapps
Azure Devops Build Tools for PowerappsAzure Devops Build Tools for Powerapps
Azure Devops Build Tools for Powerapps
 
Improving the Traceability and Reliability of CRM Implementations with TFS
Improving the Traceability and Reliability of CRM Implementations with TFSImproving the Traceability and Reliability of CRM Implementations with TFS
Improving the Traceability and Reliability of CRM Implementations with TFS
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
 
Migrate to microservices
Migrate to microservicesMigrate to microservices
Migrate to microservices
 
WDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxWDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptx
 
Sitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixSitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helix
 
Power Platform ALM with DevOps
Power Platform ALM with DevOpsPower Platform ALM with DevOps
Power Platform ALM with DevOps
 
SAP ByDesign Development
SAP ByDesign DevelopmentSAP ByDesign Development
SAP ByDesign Development
 
Devops the Microsoft Way
Devops the Microsoft WayDevops the Microsoft Way
Devops the Microsoft Way
 
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
 
Devops a la sauce Microsoft
Devops a la sauce MicrosoftDevops a la sauce Microsoft
Devops a la sauce Microsoft
 

Recently uploaded

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 

Recently uploaded (20)

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

Source Control and Release Strategy for Dynamics 365 Solutions

  • 1. Microsoft Dynamics 365 User Group Source Control and Release Strategy for Dynamics 365 Solutions
  • 2. Microsoft Dynamics 365 User Group Hi! I’m Shane Carvalho • Developer. Geek and Blogger *. • Worked with small mobile applications to multi-tenant custom SASS solutions in the .NET ecosystem. • Dynamics CRM 4  Dynamics 365. • Passion for ALM and DevOps with Visual Studio Team Services. • Automate everything!!! http://nullfactory.net http://github.com/shanec- @shanec_
  • 4. Microsoft Dynamics 365 User Group But, wouldn’t it be nice to … • Automatically maintain a history of what went into a release? • What new features were included? • What bugs were fixed? • To have a single source of truth (not dependent on a CRM instance) • Bespoke solutions (think branches) • Track hot fixes. • Rebuild your custom plugin/workflow assemblies – run unit tests and then inject them into your crm solution as part of a single build. • Rollback individual artifacts or commits. • Compare differences between releases. • git blame / tfsvc annotations. • Automate the entire deployment a CRM solution with the click of a button?
  • 5. Microsoft Dynamics 365 User Group The Solution • Project Structure • Solution Packager compatible structure. • Scaffolding via Yeoman generator (generator-nullfactory-xrm) • Populates helper scripts and wires up the tools. • Official SDK via NuGet. • Open Source PowerShell Wrapper - Microsoft.Xrm.Data.PowerShell • Source Control • Build and Release Management • Bring your own – compatible with most modern source control, build and release tools. Deployment Release Team Build Visual Studio Project Structure Solution Packager
  • 6. Microsoft Dynamics 365 User Group Development Environment CRM Developer – Technical CRM Developer – Functional CRM Developer – Technical Build / Release Manager CI Build “Release” Build Deploy to UAT UAT Environment Pull Solution Typical Application Lifecycle Apply Versioning
  • 7. Microsoft Dynamics 365 User Group Demo Development Environment UAT Environment VSTS using Git Team Build Release Management
  • 8. Microsoft Dynamics 365 User Group Now, what does this do for me? • Standard way of storing and managing solution. • Build CRM Solution independent of a “golden” CRM instance. • Reproducible deployments between environments. • Accountability • (VSTS) Link work items / user stories directly to commits (pull requests) or change sets which are then automatically linked to the next successful build and subsequent release. • Code / Solution Integrity • Automatically build continuous integration build to automatically execute unit tests and continuous deployment of builds into test to that ensure the validity of your solution. • Continuous Deployment • Release • Automate your releases to a single click of a button. No more “deployment guy”. • Setup approval steps for releases
  • 9. Microsoft Dynamics 365 User Group Thank You More information available at http://nullfactory.net generator-nullfactory-xrm [https://github.com/shanec-/generator-nullfactory-xrm] • Feedback, Issues, feature requests. • Fork, customize and contribute. http://nullfactory.net http://github.com/shanec- @shanec_