As previously mentioned in the article Project Definition, the Knowledge Base includes three environments:
-
Development
-
Quality Assurance
-
Staging
This section provides documentation and examples to configure a dedicated pipeline, variable set, and related specifications for each environment.
-
Environment 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.
-
Environment 2 – Quality Assurance:
Also executes the build on the agent, but deployment is directed to an Azure-hosted Java web application.
-
Environment 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.
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 the article Using Variable Groups - Variable Definition