Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CRM Saturday: DevOps with Jonas Rapp

1,180 views

Published on

An alternative approach to DevOps for Microsoft Dynamics 365

Published in: Technology
  • Be the first to comment

CRM Saturday: DevOps with Jonas Rapp

  1. 1. Presenter: Title: Jonas Rapp Everyday I’m Shuffling An alternative approach to DevOps for Microsoft Dynamics 365
  2. 2. var jonas = (WhoAmIResponse)service.Execute(new WhoAmIRequest()); • MVP, Head of Development - Innofactor Sweden • Software Developer - Since 1994 • 100% MS Dynamics CRM/365 - Since 2009 • XrmToolBox contributor - Since 2014 • Speaker - CRM Saturday 2017 London, Madrid, Oslo - eXtreme365 2017 Lisbon • Twitter: @rappen • Email: jonas.rapp@innofactor.com • Blog: jonasrapp.innofactor.se
  3. 3. var audience = (WhoAreYouResponse)service.Execute(new WhoAreYouRequest()); • Developer? • Used Solution Packager? • Used Package Deployer? • Automating Builds? • Automating Deploys? • Created VSTS Tasks? • Used xRM CI Framework? • Know what DevOps is?
  4. 4. • Automation - CI/CD or manual • No humans - Short-cuts, forget • Rebuild - Everything always • Tests - Tasks, integration • Reproducibility - Scripted 7 Quality and Efficiency
  5. 5. • Combine atomic solution components - Exported from local dev CRM - Extracted from customizations.xml • Build solution file - XML files from any developer - Combined to customizations.xml - Begging for conflicts • Packed to artifact - Solution file is not exported from CRM - Frankenstein’s Solution 8 SolutionPackager
  6. 6. • MS OOB tool - Suggested deployment method (but came too late…) • Import solutions - Supports stage for upgrade etc. • Import data - Configuration Migration Tool • Customizable - Call assembly methods - Start and End page 9 PackageDeployer
  7. 7. • Compile - Build C# and TS - Generate minified JS • Update DEV CRM - Manual configuration - Automatic update • Export from DEV CRM - Solutions - Configuration data • No VS extensions - Agnostic, works with any 10 Build
  8. 8. • Collect artifacts - Prereqs and current project - Solutions, data and definitions • Pack artifacts - Create deployment package - One (1) distributable file • Deploy: Import to target - Solution files - Configuration data - Detailed control through definitions 11 Release and Deploy
  9. 9. 12
  10. 10. CRM Shuffle Deployer Package (CDPKG) Solutions Serialized data Shuffle Definition (XML)Shuffle Definition (XML) 13 Serialized dataSolutions Shuffle Definition (XML) Shuffle Core VSTS Tasks Console appl CRM CRM Shuffle Deployer Archive (CDZIP) Solutio ns Serialized data XML Definition XML Definition Serialized data Solutio ns Shuffle Definition (XML) http://marketplace.visualstudio.com “CRM” https://github.com/Innofactor/Innofactor.Crm.CI/
  11. 11. • Shuffle Definition • Shuffle Data • XrmToolBox tools • CRM Shuffle Deployer • VSTS Build tools • Running a complete build – release – deploy circle… • Bye bye PowerPoint, Welcome Real World! …and gremlins… 14
  12. 12. 15
  13. 13. 16
  14. 14. 17
  15. 15. 18
  16. 16. 19
  17. 17. 20
  18. 18. 21
  19. 19. 22
  20. 20. 23
  21. 21. 24 Read more: http://jonasrapp.innofactor.se/2017/04/DevOps-III.html
  22. 22. • VSTS extensions https://marketplace.visualstudio.com/items?itemName=InnofactorSE.cinteros- devutils-ci-build-tasks • GitHub repository https://github.com/Innofactor/Innofactor.Crm.CI • Blog series http://jonasrapp.innofactor.se/2017/04/DevOps-I.html 25
  23. 23. Thanks to the Sponsors!

×