The DscBuild module contains the Invoke-DscBuild function. This is essentially a complete implementation of a DSC continuous delivery pipeline which takes care of producing all of the artifacts which need to be published to your pull servers: MOF documents, zip files for resource modules, and checksums for both. It also uses Pester to run any unit tests on your resource modules, and runs the Test-cDscResource command from the cDscResourceDesigner module on them as well. Failures in either of these two types of tests will abort the build.
It’s not strictly necessary to use Invoke-DscBuild; you could reproduce this process in a product like TeamCity using individual steps for each part of the process: running unit tests, compiling configurations, etc. The Invoke-DscBuild function can serve as a template for setting up your own continuous delivery pipeline, or you can use it as-is.
We have made some small changes to the Invoke-DscBuild process to improve its performance and functionality. Calls to Test-cDscResource were tweaked slightly to cut down on the number of calls to Get-DscResource (which is an extremely slow command, for whatever reason), and we modified the process so it only tests and rebuilds module zip files if the version number of the module has changed from what is already built on disk. When we first reviewed the module, failed unit tests were not causing the build to abort; this has been corrected as well.
On the whole, we found the DscBuild module to be a great starting point for producing a DSC-based CD solution.