Official Content

In order to use Azure DevOps solution building features, your GeneXus Knowledge Base can be exported as .NET source code.

Once the sources are generated, you may synchronize your project with Azure Repos using the Synchronize to Git task.

The following pipeline job has to be added to your pipeline definition:

  - job: GenerateSources
    steps:
      - script: >
          $(MSBUILD) "$(BL_PATH)\deploy.msbuild" /t:CreateDeploy /p:KBPath="$(KB_PATH)" 
          /p:KBEnvironment="$(KBENVIRONMENT)" /p:DeploymentUnit="$(DEPLOYMENT_UNIT)" 
          /p:ProjectName="$(DEPLOY_NAME)" /p:TargetId="AZURE_SERVERLESS" 
          /p:ObjectNames="DeploymentUnitCategory:$(DEPLOYMENT_UNIT)"
          /p:DEPLOY_TARGETS="$(BL_PATH)\DeploymentTargets\AzureServerless\azureserverless.targets" 
          /p:DeployFullPath="$(KB_PATH)\NetModel\Deploy\AZURE_SERVERLESS\$(DEPLOYMENT_UNIT)\$(DEPLOY_NAME)" 
          /p:WebSourcePath="$(KB_PATH)\NetModel\web" /p:GX_PROGRAM_DIR="$(BL_PATH)" /p:INCLUDE_GAM="False" 
          /p:INCLUDE_GXFLOW_BACKOFFICE="False" /p:DEPLOY_TYPE="SOURCES" 
          /p:APPLICATION_KEY="$(APPLICATION_KEY)" /p:TimeStamp="$(DEPLOY_NAME)"
        name: CreateSources

      - script: >  
          $(MSBUILD) /ToolsVersion:4.0 "$(KB_PATH)\NetModel\web\$(DEPLOY_NAME).gxdproj" /t:CreatePackage 
          /p:GX_PROGRAM_DIR="$(BL_PATH)" /p:AZURE_PUBLISH_SETTINGS="$(PUBLISH_SETTINGS)" 
          /p:APPLICATION_KEY="$(APPLICATION_KEY)" /p:DEPLOY_TYPE="SOURCES" /p:TimeStamp="$(DEPLOY_NAME)"
          /p:INCLUDE_GAM="False" /p:INCLUDE_GXFLOW_BACKOFFICE="False"
        name: PackageSources
      
      - script: >
          $(MSBUILD) "$(BL_PATH)\CreateCloudPackage.msbuild" /p:TargetId="AZURE_SERVERLESS" 
          /p:CreatePackageScript="createpackage.msbuild" /p:CreatePackageTarget="CreatePackage" 
          /p:DeployFullPath="$(KB_PATH)\NetModel\Deploy\AZURE_SERVERLESS\$(DEPLOYMENT_UNIT)\$(DEPLOY_NAME)" 
          /p:WebSourcePath="$(KB_PATH)\NetModel\web" /p:ProjectName="$(DEPLOY_NAME)" 
          /p:DeploymentUnit="$(DEPLOYMENT_UNIT)" /p:GX_PROGRAM_DIR="$(BL_PATH)"  
          /p:APPLICATION_KEY="$(APPLICATION_KEY)" /p:INCLUDE_GAM="False" 
          /p:INCLUDE_GXFLOW_BACKOFFICE="False" /p:APP_UPDATE="NONE" /p:ENABLE_KBN="False" /p:TARGET_JRE="9" 
          /p:PACKAGE_FORMAT="Automatic" /p:DEPLOY_TYPE="SOURCES" /p:TimeStamp="$(DEPLOY_NAME)" 
          /p:DeploySource="$(KB_PATH)\NetModel\Deploy\AZURE_SERVERLESS\$(DEPLOY_NAME).zip" 
          /t:CreatePackage
        name: AdditionalResources

It is recommended that you set up your pipeline dependency to the Build step. Additionally, you may add an unconditional job trigger.
That can be accomplished by adding the following snippet to your job:

    dependsOn: BuildKnowledgeBase
    condition: or(succeeded(), eq(${{parameters.forceSources}}, True))

Parameter definition can be added as a root tag anywhere in your pipeline, as follows:

parameters:
- name: forceSources
  displayName: Force Generate Sources
  type: boolean
  default: false
  values:
  - true
  - false

Variables

There are no specific variable definitions required for the task. See GeneXus Server Azure Configuration for the generic variables required.

See Also

Package Type property

 

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