Get started
This guide takes you from nothing to a compiled, tested Business Central app, locally, then in an Azure DevOps pipeline.
There are two ways in, and they share one engine (the businessdev.ALbuild module), so you can mix them freely:
- The
albuildCLI: the fastest, cross-platform on-ramp. It installs as a .NET global tool and bootstraps everything else for you:albuild doctorchecks the host,albuild module installinstalls the PowerShell module,albuild setup/initscaffold your config. Best on macOS/Linux and for a guided start. Full guide: CLI → Get started. - The PowerShell module directly: for full scripting control and the richest cmdlet surface.
This page uses the module for the worked example; the CLI equivalents are linked alongside.
1. Prerequisites
| Requirement | Needed for | Notes |
|---|---|---|
| PowerShell 5.1 or 7+ | Everything | The module is dual-target. PowerShell 7+ is recommended. |
.NET SDK 8+ (dotnet) | The CLI | Hosts both global tools: albuild itself and the Microsoft al compiler used for container-less builds. |
| Windows + Docker | Container operations | Business Central Docker images are Windows-only. Non-container operations (compile, feed resolution, signing, REST) run on any platform with PowerShell 7. |
Microsoft al dotnet tool | Container-less compile | Installed on demand by Install-BcAlTool. |
| Azure CLI | Universal Packages | Only needed for Azure DevOps Universal-feed dependencies. |
2. Install ALbuild
Pick the on-ramp that fits how you work, both end up driving the same businessdev.ALbuild engine.
Option A: the CLI (fastest, cross-platform)
Install the albuild global tool, then let it check the host and install the PowerShell module for you:
Code
The CLI runs everything through the module. See CLI → Get started for the full inner loop, and CLI → Backends for the macOS "compile local, run on a remote host" flow.
Option B: the PowerShell module directly
The module is published to the PowerShell Gallery as a single package (businessdev.ALbuild) that contains all nine use-case areas.
Code
Verify it loaded:
Code
No BcContainerHelper
ALbuild does not require, install or call BcContainerHelper. The entire container stack is built into the module.
3. Build an app locally
The snippet below resolves the latest BC sandbox artifact, creates a container, restores dependencies, compiles, publishes and runs the tests, entirely from PowerShell.
Code
Every cmdlet above is documented in the PowerShell module reference.
The same loop, in the CLI
The CLI wraps this whole flow in a handful of verbs, provision, restore, then build → publish → test in one command:
Code
See CLI → Get started and the command reference for coverage gating, the macOS remote-host flow and --json output for agents.
4. Configure your project (albuild.json)
Rather than repeat arguments on every command and pipeline step, commit an albuild.json at the root of your repository. ALbuild reads it automatically.
Code
See Project configuration for every setting.
5. Build in Azure DevOps
- Open the Azure DevOps Marketplace and install ALbuild for Azure DevOps into your organization.
- Add the tasks to your pipeline. A minimal build pipeline:
Code
Packaging is its own step: add CreateNuGetPackage@0 after the
compile when you want a NuGet package, and PublishPackage@0 to push it.
All build, compile, test, sign and NuGet-publish tasks are free of license. Only the deployment tasks (PTE, on-prem, dev extension, Marketplace, runtime packages) require a subscription. See Licensing & tiers.
Ready-to-use templates ship in the templates/ folder of the repository.
6. Reproduce the pipeline locally
You can run the same Azure DevOps YAML template on your machine, step by step:
Code
See the local pipeline runner for details.
Next steps
- CLI: the cross-platform command-line and the macOS remote-host flow.
- Probe: evaluate AL expressions and call procedures without a container, in under a second. The tightest feedback loop ALbuild offers, and the one built for AI agents.
- Architecture & modules: how the pieces fit together.
- Azure DevOps extension: every pipeline task.
- VS Code extension: the inner-loop tooling.
- MCP server: wire up an AI assistant for the runtime inner loop.


