Hello Everyone,
This is a lengthy topic and the idea of this Blog is to give a short description of what it is and how it works :D It is not as complicated as it sounds.
What is CI/CD in simple terms?
It is a defined practice that developers follow for their feature changes.
CI stands for Continuous Integration - If you are familiar with Git, this process includes Pull, push and Merge requests. Then an Azure Pipeline runs automated tests to ensure everything is ok after all the code changes.
CD stands for Continuous delivery - This Azure Release Pipeline creates a version and ensures that your project is ok and can be released/delivered as it is tested.
To sum up, a CI/CD pipeline for Business Central automates the build, test, and deployment of AL code for Dynamics 365 Business Central.
Steps followed by CI/CD Pipeline:
Version Control – Developers commit AL code changes to a Git repository (e.g., Azure DevOps, GitHub).
Continuous Integration (CI) – Automated builds are triggered to compile the AL code and detect errors.
Automated Testing – Unit and functional tests run using Business Central test libraries.
Artifact Creation – Successfully built applications (.app files) are packaged for deployment.
Continuous Deployment (CD) – Approved builds are deployed to test or staging environments.
Code Validation – AL validation rules and extension compatibility checks are enforced.
Containerization – Docker containers simulate different Business Central environments.
Approval Workflow – Manual or automated approvals ensure controlled production releases.
Production Deployment – Verified packages are deployed to Business Central SaaS or On-Prem.
Monitoring & Feedback – Logs and telemetry help optimize performance and detect issues.
CI/CD Tools for Business Central:
Azure DevOps (Repos, Pipelines, Release Pipelines)GitHub (GitHub Actions, GitHub Packages)GitLab CI/CDBitbucketJenkinsDockerBcContainerHelper (PowerShell)AL Compiler (alc.exe
)AL Test Runner (BC Test Toolkit)Selenium (UI Testing)Postman (API Testing)Business Central Admin Center APIPowerShell (Publish-BCContainerApp
, Invoke-BCContainerAppTests
)Azure Application InsightsBusiness Central TelemetryAzure Log AnalyticsVS Code
YML files that are created for the workflow:
CI Pipeline (azure-pipelines.yml) - Triggers on push, builds the AL extension, runs tests, and publishes the .app
package.CD Pipeline (release-pipeline.yml) - Triggered manually or on approval, deploys the .app
package to Business Central.
Reach out to me if you have any questions or suggestions.
Check out other blogs, if you haven't already.
Kindly suggest what else you want me to blog about. Keep following and supporting!
You can also email me at jyotsnaoberainav@gmail.com
Also, visit my website
JONAV if you are looking for NAV/D365BC Training and/or Services!
Thank you!
Nice information and handy for interviews
ReplyDelete