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

OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!Russ Fustino
 
Microsoft Teams for Educators @ CEWA
Microsoft Teams for Educators @ CEWAMicrosoft Teams for Educators @ CEWA
Microsoft Teams for Educators @ CEWADaniel M Groenewald
 
No-code low-code marketing perspective
No-code low-code marketing perspectiveNo-code low-code marketing perspective
No-code low-code marketing perspectiveDigital Wednesday
 
Branching and merging strategy
Branching and merging strategyBranching and merging strategy
Branching and merging strategyRahul Janghel
 
Mobile app capability latest deck
Mobile app capability latest deckMobile app capability latest deck
Mobile app capability latest deckNilesh Desai
 
DevOps Lifecycle | Edureka
DevOps Lifecycle | EdurekaDevOps Lifecycle | Edureka
DevOps Lifecycle | EdurekaEdureka!
 
Endless Use Cases with Salesforce Experience Cloud by Dar Veverka
Endless Use Cases with Salesforce Experience Cloud by Dar VeverkaEndless Use Cases with Salesforce Experience Cloud by Dar Veverka
Endless Use Cases with Salesforce Experience Cloud by Dar VeverkaAlesia Dvorkina
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App ModernizationPhi Huynh
 
Data Migration Plan PowerPoint Presentation Slides
Data Migration Plan PowerPoint Presentation SlidesData Migration Plan PowerPoint Presentation Slides
Data Migration Plan PowerPoint Presentation SlidesSlideTeam
 
Roadmap template
Roadmap templateRoadmap template
Roadmap templateinformusa
 
Salesforce Cross-Cloud Architecture
Salesforce Cross-Cloud ArchitectureSalesforce Cross-Cloud Architecture
Salesforce Cross-Cloud ArchitectureThierry TROUIN ☁
 
Sales Strategy Secrets And Tips Powerpoint Presentation Slides
Sales Strategy Secrets And Tips Powerpoint Presentation SlidesSales Strategy Secrets And Tips Powerpoint Presentation Slides
Sales Strategy Secrets And Tips Powerpoint Presentation SlidesSlideTeam
 
Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?
Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?
Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?DC CONSULTANTS
 
Top 50 Product Owner Interview Question and Answers | Edureka
Top 50 Product Owner Interview Question and Answers | EdurekaTop 50 Product Owner Interview Question and Answers | Edureka
Top 50 Product Owner Interview Question and Answers | EdurekaEdureka!
 
How To Modernize Enterpize Apps, Including Windows and .NET on AWS
How To Modernize Enterpize Apps, Including Windows and .NET on AWSHow To Modernize Enterpize Apps, Including Windows and .NET on AWS
How To Modernize Enterpize Apps, Including Windows and .NET on AWSAmazon Web Services
 

What's hot (20)

OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!
 
Microsoft Teams for Educators @ CEWA
Microsoft Teams for Educators @ CEWAMicrosoft Teams for Educators @ CEWA
Microsoft Teams for Educators @ CEWA
 
Solution Architecture
Solution ArchitectureSolution Architecture
Solution Architecture
 
No-code low-code marketing perspective
No-code low-code marketing perspectiveNo-code low-code marketing perspective
No-code low-code marketing perspective
 
Branching and merging strategy
Branching and merging strategyBranching and merging strategy
Branching and merging strategy
 
About me sample_of_ppt
About me sample_of_pptAbout me sample_of_ppt
About me sample_of_ppt
 
Mobile app capability latest deck
Mobile app capability latest deckMobile app capability latest deck
Mobile app capability latest deck
 
DevOps Lifecycle | Edureka
DevOps Lifecycle | EdurekaDevOps Lifecycle | Edureka
DevOps Lifecycle | Edureka
 
Endless Use Cases with Salesforce Experience Cloud by Dar Veverka
Endless Use Cases with Salesforce Experience Cloud by Dar VeverkaEndless Use Cases with Salesforce Experience Cloud by Dar Veverka
Endless Use Cases with Salesforce Experience Cloud by Dar Veverka
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App Modernization
 
Data Migration Plan PowerPoint Presentation Slides
Data Migration Plan PowerPoint Presentation SlidesData Migration Plan PowerPoint Presentation Slides
Data Migration Plan PowerPoint Presentation Slides
 
Roadmap template
Roadmap templateRoadmap template
Roadmap template
 
Salesforce Cross-Cloud Architecture
Salesforce Cross-Cloud ArchitectureSalesforce Cross-Cloud Architecture
Salesforce Cross-Cloud Architecture
 
Dynamics 365 CRM Introduction
Dynamics 365 CRM IntroductionDynamics 365 CRM Introduction
Dynamics 365 CRM Introduction
 
Sales Strategy Secrets And Tips Powerpoint Presentation Slides
Sales Strategy Secrets And Tips Powerpoint Presentation SlidesSales Strategy Secrets And Tips Powerpoint Presentation Slides
Sales Strategy Secrets And Tips Powerpoint Presentation Slides
 
Application Lifetime Management
Application Lifetime ManagementApplication Lifetime Management
Application Lifetime Management
 
Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?
Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?
Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?
 
Introduction to Jira.pdf
Introduction to Jira.pdfIntroduction to Jira.pdf
Introduction to Jira.pdf
 
Top 50 Product Owner Interview Question and Answers | Edureka
Top 50 Product Owner Interview Question and Answers | EdurekaTop 50 Product Owner Interview Question and Answers | Edureka
Top 50 Product Owner Interview Question and Answers | Edureka
 
How To Modernize Enterpize Apps, Including Windows and .NET on AWS
How To Modernize Enterpize Apps, Including Windows and .NET on AWSHow To Modernize Enterpize Apps, Including Windows and .NET on AWS
How To Modernize Enterpize Apps, Including Windows and .NET on AWS
 

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

UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 

Recently uploaded (20)

UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 

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_