My first net new post on MSDyn365FO.wordpress.com start with a joke in the headline. Of course you are still using build VMs for Microsoft Dynamics 365 for Finance and Operation, because there is currently no other option. During my short meetup with Joris de Gruyter at Ignite, I got the approval to share some insides on what we discussed there.
Some weeks ago a joined a private preview to validate/test the new feature “Build without VM” aka. “DevALM vNext Private Preview”. In this program I´m able to get the first hand on build pipelines in Azure DevOps using Microsoft-hosted Azure Pipelines as agent pools. This mean you no longer need a build VM to build your MSDyn365FO extension and generate the packages for deployments.
As of now the feature consists of the following components:
- NuGet packages as artifacts in Azure DevOps containing the platform packages, application packages and the compiler.
- nuget.config pointing to right artifacts feed in Azure DevOps.
- packages.config selecting a specific version from the NuGet packages in the artifacts feed in Azure DevOps.
- A step within the build pipeline which installs the corresponding NuGet packages on the Microsoft-hosted agent.
- Steps using MSBuild (Visual Studio build) to build the packages.
As you can see in the banner of this post, there are currently some additional step required to work around some know issues, but the result is a working build without a VM. Because this is currently a private preview with some limitation, I´m not allowed to use this kind of build to generate packages for sandbox or production deployments. Because of this limitation I´m only using these builds for gated check-in without package generation.
One thing I also want to mention here, are the costs of this feature. As of now you can use Microsoft-hosted agents up to 1800 minutes per month for free. If your build takes 20 minutes you are able to execute 90 builds for free. If you need more you can buy an additional parallel job with unlimited minutes for 40$ or 33,74€. These costs/prices are much cheaper than a full build VM.
A major downside of “Build without VM” is that you are not able to execute unit tests using SysTest or ATL. Because of this limitation the existence of a build VM is still mandatory for our implementation projects, but we are able to reduce the build VM count to 1.
To wrap up this post: Watch out for announcements from Joris, asking for additional participants in upcoming preview circles, it is worth the effort!