SlideShare a Scribd company logo
Presenter:
Title:
Jonas Rapp
Everyday I’m Shuffling
An alternative approach to DevOps for Microsoft Dynamics 365
CRM Saturday: DevOps with Jonas Rapp
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
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?
CRM Saturday: DevOps with Jonas Rapp
CRM Saturday: DevOps with Jonas Rapp
• Automation
- CI/CD or manual
• No humans
- Short-cuts, forget
• Rebuild
- Everything always
• Tests
- Tasks, integration
• Reproducibility
- Scripted
7
Quality and Efficiency
• 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
• 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
• 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
• 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
12
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/
• 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
15
16
17
18
19
20
21
22
23
24
Read more: http://jonasrapp.innofactor.se/2017/04/DevOps-III.html
• 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
Thanks to the
Sponsors!

More Related Content

PPTX
Microsoft Teams
PPTX
What is SSL/TLS, 1-way and 2-way SSL?
PDF
AWS Certified Solutions Architect Associate Exam Guide 1st Edition 2024_KIRAN...
PPTX
Kiểm thử bảo mật web
PPTX
Azure - Identity as a service
PPTX
Tìm hiểu về OpenStack
PDF
Google cloud run + elixir boilerplate
DOCX
[Đồ án môn học] - Đề tài: Nghiên cứu xây dựng giải pháp thu thập và quản lý ...
Microsoft Teams
What is SSL/TLS, 1-way and 2-way SSL?
AWS Certified Solutions Architect Associate Exam Guide 1st Edition 2024_KIRAN...
Kiểm thử bảo mật web
Azure - Identity as a service
Tìm hiểu về OpenStack
Google cloud run + elixir boilerplate
[Đồ án môn học] - Đề tài: Nghiên cứu xây dựng giải pháp thu thập và quản lý ...

What's hot (20)

PDF
Hệ thống quản lý và phân tích log tập trung elk stack
PDF
Plan your Log Platform at Google Cloud Platform
PPTX
OAuth - Don’t Throw the Baby Out with the Bathwater
PPTX
Planning Your Migration to SharePoint Online #SPBiz60
PPTX
OAuth2 + API Security
PDF
Domino Adminblast
PPTX
Enable Domino Data Access Services (DAS)
PDF
CMS dotnetnuke
DOC
TRIỂN KHAI OPENVPN TRÊN UBUNTU SERVER
PPTX
Azure Identity and access management
PDF
AWS vs Azure vs Google (GCP) - Slides
PPTX
Fundamentals of Microsoft 365 Security , Identity and Compliance
PPTX
Azure AD Connect
PDF
Understanding Azure Networking Services
PDF
Secure your Application with Google cloud armor
PDF
OpenID Connect Explained
DOCX
Chặn tùy chỉnh symantec endpoint protection client
PPTX
Modernize Solutions with SharePoint & the Power Platform
PPTX
OpenID Connect: An Overview
PPTX
Learn More About Microsoft Teams
Hệ thống quản lý và phân tích log tập trung elk stack
Plan your Log Platform at Google Cloud Platform
OAuth - Don’t Throw the Baby Out with the Bathwater
Planning Your Migration to SharePoint Online #SPBiz60
OAuth2 + API Security
Domino Adminblast
Enable Domino Data Access Services (DAS)
CMS dotnetnuke
TRIỂN KHAI OPENVPN TRÊN UBUNTU SERVER
Azure Identity and access management
AWS vs Azure vs Google (GCP) - Slides
Fundamentals of Microsoft 365 Security , Identity and Compliance
Azure AD Connect
Understanding Azure Networking Services
Secure your Application with Google cloud armor
OpenID Connect Explained
Chặn tùy chỉnh symantec endpoint protection client
Modernize Solutions with SharePoint & the Power Platform
OpenID Connect: An Overview
Learn More About Microsoft Teams
Ad

Similar to CRM Saturday: DevOps with Jonas Rapp (20)

PPTX
Five ways to improve Quality and Productivity of your Development
PPTX
Source Control and Release Strategy for Dynamics 365 Solutions
PPTX
Zero To DevOps - Source Control and Release Strategy for Dynamics 365 Solutio...
PDF
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
PDF
Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...
PDF
Nu Skin: Integrating the Day CMS with Translation.com
PDF
Move Your XPages Applications to the Fast Lane
PDF
An Introduction to the Model-View-Controller Pattern
PPTX
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
PPTX
JavaScript Task Runners - Gulp & Grunt
PDF
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
PPTX
My Dad Won't Buy Me DevOps
PPTX
Breaking the 2 Pizza Paradox with your Platform as an Application
PDF
Building Developer Experiences for the Cloud .pdf
PDF
Idi2018 - Serverless does not mean Opsless
PDF
CollabSphere 2019 - INF109 - SUPERCHARGED HCL Notes V11 Upgrades Turning the ...
PDF
CollapSphere 2019 - SUPERCHARGED HCL Notes V11 Upgrades
PPTX
Holy PowerShell, BATman! - dogfood edition
PDF
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
PPTX
ITsubbotnik Spring 2017: Dmitriy Yatsyuk "Готовое комплексное инфраструктурно...
Five ways to improve Quality and Productivity of your Development
Source Control and Release Strategy for Dynamics 365 Solutions
Zero To DevOps - Source Control and Release Strategy for Dynamics 365 Solutio...
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
Ad01_Navigating-HCL-Notes-14-Upgrades_A-Comprehensive-Guide-for-Conquering-Ch...
Nu Skin: Integrating the Day CMS with Translation.com
Move Your XPages Applications to the Fast Lane
An Introduction to the Model-View-Controller Pattern
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
JavaScript Task Runners - Gulp & Grunt
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
My Dad Won't Buy Me DevOps
Breaking the 2 Pizza Paradox with your Platform as an Application
Building Developer Experiences for the Cloud .pdf
Idi2018 - Serverless does not mean Opsless
CollabSphere 2019 - INF109 - SUPERCHARGED HCL Notes V11 Upgrades Turning the ...
CollapSphere 2019 - SUPERCHARGED HCL Notes V11 Upgrades
Holy PowerShell, BATman! - dogfood edition
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
ITsubbotnik Spring 2017: Dmitriy Yatsyuk "Готовое комплексное инфраструктурно...
Ad

Recently uploaded (20)

PPTX
Cloud computing and distributed systems.
PDF
Encapsulation theory and applications.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Empathic Computing: Creating Shared Understanding
Cloud computing and distributed systems.
Encapsulation theory and applications.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Big Data Technologies - Introduction.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation
MIND Revenue Release Quarter 2 2025 Press Release
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Digital-Transformation-Roadmap-for-Companies.pptx
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
Machine learning based COVID-19 study performance prediction
MYSQL Presentation for SQL database connectivity
Understanding_Digital_Forensics_Presentation.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Empathic Computing: Creating Shared Understanding

CRM Saturday: DevOps with Jonas Rapp

  • 1. Presenter: Title: Jonas Rapp Everyday I’m Shuffling An alternative approach to DevOps for Microsoft Dynamics 365
  • 3. 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
  • 4. 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?
  • 7. • Automation - CI/CD or manual • No humans - Short-cuts, forget • Rebuild - Everything always • Tests - Tasks, integration • Reproducibility - Scripted 7 Quality and Efficiency
  • 8. • 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
  • 9. • 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
  • 10. • 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
  • 11. • 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
  • 12. 12
  • 13. 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/
  • 14. • 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
  • 15. 15
  • 16. 16
  • 17. 17
  • 18. 18
  • 19. 19
  • 20. 20
  • 21. 21
  • 22. 22
  • 23. 23
  • 25. • 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

Editor's Notes

  • #4: 1:45
  • #5: 1:45
  • #6: 2:00
  • #7: 2:00
  • #8: Automate time consuming and error prone tasks Triggers can be automated or manual, still saves time Human factors eliminated Automated builds don’t take shortcuts. “No scripts were updated” We tend to forget things Build is verified every time Automated testing is part of the build We use SonarQube, there are other Reproduce environments Strict scripted deployment sequences