Continuous Integration Under the Hood

Unofficial Content

This document describes some useful details on the built-in continuous integration in GeneXus and GeneXus Server 17 and common issues that may arise.

Where are the provider configurations stored?

Once the provider configuration is saved from the GeneXus Server console, the configurations made are stored in the jenkins.config file located at  <GXserver installation directory>\VDir\BinGenexus\Packages\ContinuousIntegration

            <jenkinsdefaults url="http://localhost:8081/" serverurl="http://localhost/GeneXusServer17/"
                folder="GeneXusServer17" credentials="GXserverLogin" genexus="GX17" forcerebuild="false"
                msbuild="MSBuild17" sqlserver="SCRATCHSRV2019\SQLEXPRESS"
                runtests="true" deploytocloud="true" />

How to add a GeneXus version to use on the Continuos Integration server?

Please refer the following document: How to add a GeneXus version to use on the Continuos Integration server

How to modify the default value of the "Populate Data" property 

To change the default value of the "Populate Data" property for the execution of CI pipelines, the file resources\CIscripts\KBSettings\DeployToCloud.settings in Jenkins Integration repository must be modified (for example, “C:\GXJenkins\resources\CIscripts\KBSettings).

The configuration should look like the following:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="">
          <GeneratorProperty Include="deploy to cloud">
            <PropertyName>deploy to cloud</PropertyName>
        <EnvironmentProperty Include="Populate Data">
            <Name>Populate Data</Name>

Error Could not retrieve versions: 'GeneXus Server at 'https://myserver/GeneXusServer/' requires user credentials.'

Pipeline run show an error simitar to:

Build started 10/26/2020 9:48:48 AM.
Project "c:\gxtrunk\TeamDev.msbuild" on node 1 (Checkout target(s)).
CreateKBfromServer Directory=C:\gc\KBs\GeneXusServer\MyKB
========== Create Knowledge Base from GeneXus Server started ==========
========== Get versions started ==========
Contacting GeneXus Server at 'https://myserver/GeneXusServer/'...
c:\gxtrunk\TeamDev.msbuild(55,3): error : Could not retrieve versions: 'GeneXus Server at 'https://myserver/GeneXusServer/' requires user credentials.'
c:\gxtrunk\TeamDev.msbuild(55,3): error : > Get versions Failed
========== Get versions finished ==========

Check How to configure credentials to work with CI pipelines and consider that if local user is used you must define the user as "local\userName" or "GeneXus Account\userName"

When saving CI provider info message "The configuration file has been changed by another program. (C:\GeneXusServer\VDir\binGenexus\packages\ContinuousIntegration\jenkins.config)" appears

This message means that jenkins.config file was modified after GeneXus Server had been started. Recycle application pool or restart IIS at IIS Manager.

How to know which GeneXus version (installation) is being used in a pipeline?

Genexus installation version is included in log pipeline as:

-- Genexus Installation
Name : GX17 Release
Path : C:\Program Files (x86)\GeneXus\GeneXus17

GeneXus 17
Copyright c 1988-2020 GeneXus. All rights reserved.