UDE Build and Package Creation with an Azure DevOps Pipeline
UDE Build and Package Creation with an Azure DevOps Pipeline
Introduction
In the previous part of the series, we discussed how a local build and deployment to an online UDE environment are separate steps. During day-to-day development, we can run a quick project build in Visual Studio and deploy our changes to the connected environment.
When we move to controlled environments such as UAT or production, however, a build created on a developer’s computer is not enough. The same Git commit must be compiled against the same references, and the resulting package must be stored as a pipeline artifact.
In this part, we will create an Azure DevOps YAML pipeline that runs on a Microsoft-hosted Windows agent. The pipeline will compile the X++ metadata in the repository, create a unified package and, when required, a traditional deployable package, and then publish the outputs as artifacts.
Scope of this article: This part focuses on build and package creation. Deploying the resulting unified package to Test, UAT, and Production environments with approval mechanisms will be the subject of the next part.
Overall Flow
At its simplest, we can think of the build pipeline as the following flow:
| Input | Process | Output |
|---|---|---|
| Git repository | NuGet restore | Compiler and reference packages |
| Metadata + .sln/.rnrproj | Compile X++ with VSBuild / MSBuild | X++ binary outputs |
| X++ binary outputs | XppCreatePackage@3 | Unified package and/or deployable package |
| Package outputs | PublishBuildArtifacts | Artifact consumed by the release pipeline |






