Concepts
Comparison with BcContainerHelper, AL-Go and ALOps
A fair, source-backed comparison of ALbuild against its three natural neighbours in the Business Central DevOps space.
The four tools are not the same kind of thing
A feature matrix would be misleading without saying so, they sit at different layers:
- BcContainerHelper: a free, MIT-licensed PowerShell library from Microsoft. The foundation layer (containers, artifacts, compile, publish, test, sign). It does not orchestrate a pipeline on its own. Microsoft is phasing out BcContainerHelper inside AL-Go, with support ending 2027-10-01.
- AL-Go for GitHub: Microsoft's free, plug-and-play DevOps templates and actions. GitHub Actions only. Built on BcContainerHelper today.
- ALOps: Hodor's commercial product (created by Eric "waldo" Wauters). A set of Azure DevOps pipeline tasks (plus GitHub Actions v3). Marketed as "no PowerShell required."
- ALbuild: our PowerShell module: a reusable command library plus an Azure DevOps task extension, YAML templates and a local pipeline runner. BcContainerHelper-free. Has a free tier and licensed tiers.
So ALbuild's closest direct competitor is ALOps; AL-Go is the free GitHub-native alternative.
At a glance
| BcContainerHelper | AL-Go for GitHub | ALOps | ALbuild | |
|---|---|---|---|---|
| Type | PowerShell library | GitHub templates + actions | Azure DevOps extension (+ GitHub) | PowerShell module + AzDO extension |
| Vendor | Microsoft | Microsoft | Hodor (waldo) | 365 business development |
| License / cost | MIT, free | Free | Commercial (30-day trial) | Free tier + licensed tiers |
| Primary CI platform | Any (you orchestrate) | GitHub Actions only | Azure DevOps (+ GitHub Actions v3) | Azure DevOps |
| Container engine dependency | BcContainerHelper itself | BcContainerHelper (→ deprecating) | Own engine | Own engine (BcContainerHelper-free) |
| AI-agent surface | None | None | None | CLI with --json, MCP server, AL interpreter |
Where ALbuild genuinely leads
These are differentiators backed by code, not marketing:
- No BcContainerHelper dependency. The entire container stack is reimplemented. With Microsoft ending BcContainerHelper support inside AL-Go on 2027-10-01, not depending on it is a strategic advantage.
- A real transitive dependency resolver with a lock file.
Resolve-BcDependenciesis a backtracking constraint solver producingdependencies.lock.json, none of the three competitors offer a true lock-file model. - Mixed dependency sources in one resolver. NuGet v3 and Azure DevOps Universal Packages and committed local
.appfiles, with Microsoft first-party apps pinned to the target build. - Container-less and container builds from one command (
Invoke-BcCompiler), selectable per run. - A local pipeline runner.
Invoke-ALbuildPipelineexecutes the same YAML templates on a developer machine, neither AL-Go nor ALOps offer this. - Race-safe versioning.
Invoke-BcBuildVersionStampclaims the build version via a git compare-and-swap branch push, robust under parallel builds. - Azure DevOps-first with V1 task compatibility. All legacy V1 tasks are reproduced with deprecation warnings, so existing pipelines migrate incrementally.
- Built for AI agents, not merely usable by them. Three things none of the others offer: a
cross-platform CLI with machine-readable
--jsonon every command and stable error codes, an MCP server that hands an assistant the same toolchain the pipeline uses, andalbuild probe, an AL interpreter that evaluates expressions and procedure calls in under a second with no container at all. For an agent iterating on logic, that is the difference between a feedback loop measured in seconds and one measured in minutes. - Code coverage with an honest denominator. Coverage is measured against the executable lines in your own AL source, not against the subset Business Central happens to report, and it renders in the VS Code gutter as well as in the pipeline.
Honest weaknesses
Stated plainly, because the comparison is only useful if it is fair:
- Maturity & ecosystem. ALbuild is far younger than BcContainerHelper, AL-Go and ALOps, with a smaller community and less third-party content.
- Azure DevOps only, no GitHub Actions. Teams on GitHub are served by AL-Go (free) or ALOps (v3).
- Key deployment features are behind a paid license (runtime packages, AppSource submission, on-prem deployment, environment provisioning). AL-Go offers the AppSource/PTE/environment equivalents for free.
- A second AL engine is a fidelity risk.
albuild probereimplements AL semantics, so it can in principle disagree with Business Central. It is built to refuse rather than guess, and a differential harness runs the same AL through both engines to catch any divergence, but it remains a fast pre-check and never a substitute for running the real tests. - Not Microsoft's strategic direction. AL-Go is Microsoft's first-party DevOps path for BC.
Bottom line
- On GitHub, for free, with Microsoft backing → AL-Go for GitHub.
- On Azure DevOps, commercial, mature, "no PowerShell" → ALOps.
- As a foundational library to build your own automation → BcContainerHelper.
- On Azure DevOps, when you want a BcContainerHelper-free stack, reproducible dependency resolution with a lock file, mixed NuGet/Universal/local sources, and a local pipeline runner → ALbuild.
- When an AI agent is doing a meaningful share of the AL work → ALbuild, for the JSON-first CLI, the MCP server and container-less probing.
Sources
- BcContainerHelper repository
- Deprecating BcContainerHelper (support ends 2027-10-01)
- Overview of AL-Go for GitHub
- AL-Go repository
- ALOps documentation
Competitor capabilities reflect public sources and evolve over time; verify against the linked documentation before relying on a specific cell.
Last modified on


