For CRM 2015 & 365 take a look at the updated framework on Github.

The xRM Continuous Integration (CI) Framework is a set of tools that makes it easy and quick to automate builds and deployment of your CRM components.

Implementing continuous integration is always a nice to have feature on Dynamics CRM projects which in most cases gets left for various reasons even though having this setup will save lots of time long term, reduce the risk and improve productivity. Using xRM CI Framework you can quickly implement a build->deploy->test workflow with a few clicks. This is achieved by providing easy to use templates and sample scripts. These can also be easily extend to meet any complex or specific scenarios you might have.

Below is a summary of the main components and features of the framework.

Custom PowerShell Cmdlets for Dynamics CRM

PowerShell allows you to automate various processes by scripting the tasks that are normally performed manually on servers and applications.

The xRM CI Framework provides you with PowerShell “Cmdlets” to allow you to script some of the task that are normally executed manually during the build and/or deployment of your Dynamics CRM Solutions. The most commonly used actions would be things like exporting your CRM solutions. Below is a list of Cmdlets available now.

These are the generic commands/actions that you can then combine together in PowerShell scripts to implement the right process for your project needs.

Custom TFS Build Template for Dynamics CRM

A TFS Build template is a workflow that defines the flow and steps of a TFS Build. This is normally implemented using Windows Workflow Foundation. TFS Build allows you provide custom build templates to suite your needs.

The Dynamics CRM 2013 TFS build template extends the Default TFS Build template to provide the extra steps required to Build CRM Solutions and implement Continuous Integration. It also provides the release capabilities provided by the Release Management Template.

Using the template you can create a Dynamics CRM Build Definition to “Build –> Deploy –> Test” in just a few clicks. One type of scenario would be to export your solution from your development environment, deploy that solution to your stage environment and then run a series or test to validate the deployment and functionality.

The below workflows illustrates the flow and capabilities of the Dynamics CRM 2013 custom TFS Build Template.

Sample PowerShell Scripts for Dynamics CRM

These are sample scripts demonstrate how to use some of the PowerShell Cmdlets provided with this framework and the Dynamics CRM SDK. You can execute these scripts from your workstation, from your Build system (TFS) and from your Release Automation system (Visual Studio Release Management).

Below is a list of some of the main sample scripts:

  • Import Solution (Imports a CRM solution, including error handling, downloading import logs and checking existing versions)
  • Deploy Package (Deploy a Dynamics CRM Deployment Package)
  • Extract Customizations (Export a CRM solution from your environment and extracts the contents into source control using solutionpackager.exe and the TFS API)

Getting Started

Take a look at the documentation section for step by step instructions on how to get started.

Discussions

Take a look at the interesting discussions on implementing Continuous Integration for Dynamics CRM in the discussion page. This is a good forum to raise any questions you have, any topics you want to discuss or get advice on any challenges you are facing.

Issues

Take a look at the issues page. This is a good forum to raise any issue you are facing with using the framework and also to request any features you would like added to future releases.

Last edited Jan 12 at 9:39 PM by waelhamze, version 30