Blogs Banner
DevOps for Microsoft Dynamics

DevOps for Microsoft Dynamics

25th May, 2018

Introduction

 

DevOps has become one of the buzz words in the software development ecosystem, this is why it’s important to consider this with all kinds of development including custom development for Microsoft Dynamics, so I created a series of videos for new CRM developer to start to consider DevOps from the beginning. This series can also help DevOps engineers who haven’t worked with Dynamics development before.

 

DevOps for Microsoft Dynamics Introduction and abstract

 

Introduction and overview of a series of videos about Microsoft Dynamics development, including:

 

  • Overview of the Microsoft Dynamics CRM
  • Installing Microsoft Dynamics 2016 on Azure VM
  • How to upgrade to Dynamics 365 & develop Dynamics CRM plugin
  • How to debug Microsoft Dynamics CRM project, create and run unit tests using FakeXRMEasy and Microsoft Fakes, JavaScript and front end unit tests as well code quality using JSHint
  • How to create and run UI and how to integrate all the practices as part of the CI/CD(Continuous Integration and Continuous Delivery).

 

 

  • What is Microsoft Dynamic CRM for developer whom had never worked with CRM before

 

Overview about Microsoft Dynamics CRM for developer or DevOps Engineer who had never worked with Dynamics CRM before. Learn more about your challenges and how to start developing with Microsoft Dynamics CRM. How the main interface looks like and Admin side (CRM Deployment Manager)? Structure of the content of CRM solution, how to navigate and how to import/export existing CRM solutions (using ALMTollKit or Dynamics 365 Build Tools). How does the process of development look? Including an example of a project, explaining where are located the workflows, plugins and HTML, CSS, JS, Images. Proposed several approaches for development process, including with and without build automation.

 

  • Installing Microsoft Dynamics CRM 365 for a developer machine on Azure VM

 

How to install Microsoft Dynamics CRM 365 on Azure VM? Presented installation using SQL 2014 and SQL 2016, on several versions of Windows Server (Windows Server 2012, Windows Server 2012 R2 and Windows Server 2016). Installing Domain Controller, explaining all possible issues which you may face during the installation, like incompatible Domain Controller Windows Server 2012 with SQL Server on the same machine, Windows Search Service is not started automatically, installing Dynamics CRM reporting extension which was needed to create additional Dynamics Organization and many other notes.

 

 

  • Developing Hello World for Microsoft Dynamics 365 CRM Project

 

How to develop your first project for Microsoft Dynamics 365 CRM Project? Understanding the main components, structure and process of the development for Microsoft Dynamics 365 CRM. Get the full picture of the development cycle and learn how to create a new CRM solution. In this video, you are going to see how to develop a Dynamic CRM plugin and deploy it to CRM solution using xrmtoolkit, and how to develop web resources including an HTML page and embed it inside CRM.

 

 

  • Debugging Microsoft Dynamics 365 CRM project

 

How to debug a Microsoft Dynamics 365 CRM Plugin project? Learn how to put a breakpoint and attach process to the debugger, we will attach w3wp.exe which is the process of IIS, and the second process is microsoft.crm.sandbox.worker process.exe. Create new account on CRM and learn where you can see the activities related with the debugging (next to the summary of your account, in the activities tab).

 

 

  • Creating and running unit test for Microsoft Dynamics 365 CRM

 

How to write and run unit tests for Microsoft Dynamics 365 CRM Plugin project using Microsoft Fakes and FakeXRMEasy and integrate them with Visual Studio Team Services build. First, I am going to create a fake context with input and output parameters and execute the plugin using them. FakeXRMEasy is easy and simple since it is based on reflection. In order to work the task properly you need to create an entity “task” and have the Proxy Classes that previously should be added to the project. Using Microsoft Fake, you need to add changes to the code. First, you need to add reference to Microsoft.Xrm.Sdk and after that add Fakes Assembly.

 

 

  • Creating and running UI test for Microsoft Dynamics 365 CRM

 

How to easily to download the framework and with small modifications test the plugin which I have developed in my previous videos. First, I am going to show you how to download the EasyRepo framework from the Microsoft GitHub account. After cloning the repo and rebuilding the solution, all UI Automation tests will be displayed in Test Explorer. I will modify the application settings in app.config file (Username, Password, CrmUrl) and edit the existing test for Creating New account adding several lines of code in order to retrieve the activities and assert the associated activities.

 

 

  • Run Automated UI test as a Continuous Integration & Continuous Delivery Pipeline for MS Dynamics 365

 

How to integrate automated UI tests with Visual Studio build automation in order to be able to integrate with Continuous Integration & Continuous Delivery Pipeline. First, you need to add test category and rebuild the application. Note that the build should be configured as a process in order to be able to run the automation UI. See how to create new build definition using .NET Desktop template, remove unnecessary tasks, set the correct Test filter criteria, and Test assemblies. Additionally, learn how to use VSTest.Console.exe in order to run the automation form from command line and to debug the failing test.

 

 

This post was originally published on mohamedradwan.com at DevOps for Microsoft Dynamics