D365 Business Central On Prem - ISV Integration + app + customization


CI/CD Pipeline Tasks for MSDyn365BC



Hello Readers,

With this article you will be doing Build/Release pipelines for Microsoft Dynamics 365 Business Central with VSTS check-ins.

Introduction:

In Azure DevOps you can use build-in tasks to execute context of a Build or deployment Agent. You can use pre-configured Pipelines or Tasks for Microsoft Dynamics 365 Business Central using NVRAppDevOps.

Pre-requisites:

·       VS Code
·       Microsoft Dynamics NAV / Business Central
·       Azure DevOps Subscription
·       Understanding of Version Source Control System like VSTS
·       Understanding of PowerShell

Architecture diagram (Continuous Integration workflow)



Configure Agent: 
  1. 1Create an Agent on EC2 instance : follow steps mentioned blog - https://mohitgoyal.co/2017/09/27/add-a-private-build-agent-to-vsts-and-configure-for-capabilities/
  2. 2On EC2 Instance, Install Docker Server and create a container
  3. 3Create a Task scheduler as per steps below to run the Agent service to run as Admin
  4. 4Once Task Scheduler configuration is complete, restart the system and then check your agent status, Agent should be Online.


Build Pipeline details: 

Sr. No.
Task
Details
01
Install PowerShell modules
02
Business Central - Create a docker container
03
Compile App in Container
04
Publish App to Container
05
Automation execution
06
Remove docker container
07
PowerShell to Stop EC2 instance


Output
Pipeline tasks execution details

Pipeline test execution details
 

Ref. :
  1. ·       NaverticAL Build and Release Tasks for Business Central
  2. ·       navertical_tasks/issues/4 - Failed: Install NVRAppDevOps and navcontainerhelper PowerShell modules
  3. ·       navertical_tasks/issues/5 - error related to *TestLibraryOnly* parameter while executing "Create container"
  4. ·       navertical_tasks/issues/6 - wrong image used for create container
  5. ·       navertical_tasks/issues/7 - unable to sign Business Central app - with navertical_tasks "Sign App with certificate through Container"



Thanks
Sachin Chavan




Comments