Official Content

This article explains how to configure a dedicated pipeline for each Environment in a GeneXus project, using variable groups and specific pipeline settings to support automation of build and deployment processes across Development, Quality Assurance, and Staging Environments, after understanding how this example is implemented, you can define a single pipeline for multiple environments or for multiple KBs, depending on the complexity you need to address.

As previously mentioned in the article Project Definition, the Knowledge Base includes three Environments:

  1. Development
  2. Quality Assurance
  3. Staging

1) Development

Designed to handle a full .NET build and deployment, with all processes running directly on the agent machine. Deploy target: GeneXus Prototyping Cloud.

2)  Quality Assurance

It also executes the build on the agent, but deployment is directed to an Azure-hosted Java web application.

3) Staging

Executes the build on the agent and deploys the resulting application to an on-premises Environment.

The process targets a Web application generated with GeneXus for the .NET generator.

Two agents from the same pool are used: The first agent performs GeneXus tasks such as Create Knowledge Base from Server, Update, Build, Generate, and Publish Artifact.

The second agent downloads the published artifact, applies the necessary configuration, and deploys the application to an on-premises Windows Server 2025.

Configuration Variables for Pipeline Execution

As explained in the section Azure DevOps - Variable Definition, there are different types of variables.

The following variables will be shared across the three pipelines and are defined as a variable group.

Later on, each article, corresponding to a specific Environment, will specify the Defined Variables in the Pipeline UI that are relevant to its respective pipeline.


Shared Variable Group Definition

A variable group named OnlineShopSharedVariables has been defined, which contains the following key-value pairs and their corresponding descriptions:

Name Value Description
AGENT_POOL GXAgents Name of the agent pool defined in the Azure DevOps - Setup Configuration section.
GX_PATH  C:\Program Files (x86)\GeneXus\GeneXus18u13 Path to the local GeneXus installation.
GXSERVER_URL http://sandbox.genexusserver.com/v18 URL of the GeneXus Server hosting the Knowledge Base.
GXSERVER_USER gxtechnical\MyGXUser GeneXus user with permissions over the Knowledge Base in GeneXus Server.
GXSERVER_PASS  ********** Corresponding password for the GeneXus user, mark it as secret when defining the variable.
KB_ALIAS OnlineShopRWD Name of the Knowledge Base.
KB_PATH C:\AzureCICDKBs\OnlineShopRWD Local path where the pipeline will work with the Knowledge Base.
MSBUILD C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe Path to the MSBuild executable. 

To use this variable group in each pipeline, the following YAML code should be included:

variables:
- group: OnlineShopSharedVariables

Note: "OnlineShopSharedVariables" is the name of the variable group defined in the article Using Variable Groups - Variable Definition

Last update: June 2025 | © GeneXus. All rights reserved. GeneXus Powered by Globant