Cloud deployment using abe

This document consist of steps to deploy On-Premise assets and configurations to cloud solution using Asset Build Environment

Overview 

This article describes the detailed steps to setup an environment to deploy on-premise assets and configurations to cloud solution using ABE. Instructions described in this article are for webMethods Product version 10.3 and above.

Prerequisites

  • On premise Integration Server and Universal messaging.
  • SPM and Command central
  • Designer Service Development
  • Asset Build Environment (ABE)

Above prerequisite, products should have its latest fixes installed

Follow the guide http://techcommunity.softwareag.com/pwiki/-/wiki/Main/Quickstart+Guide+for+Cloud+Deployment to setup a cloud deployment environment

Setting up the source repository for ABE

Download the attached zip file which consists of source repository folder structure with the sample configurations inside it. Let’s follow the same folder structure to keep our IS packages/configurations and UM configurations

Source repository folder will look like:

Extract the zip

Export packages and configurations from On-premise environment

Export packages:

From designer, export the package from Service development perspective

Right click on the package >Export from Server> Save and extract the package inside source repository location source\IS\packages\demoPackage

Export Configurations:

Export IS configuration as a yaml template:

From designer Landscape Navigator View, export the IS configuration as YAML source.

Right click on Integration Server instance, Export Configuration > provide name for New Configuration Project >Click Finish  

Provide Template alias, let’s name it as “localhost-OSGI-IS_default”

Select configurations to be deployed from Configuration Selection panel and Click Finish

Export UM configuration as a yaml template:

Similar to IS configuration, export UM configurations as a YAML source.

Right-click on Universal Messaging instance, Export Configuration > Browse already created project >  

Provide Template alias, let’s name it as “localhost-Universal-Messaging-umserver”

Select configurations to be deployed from Configuration Selection panel and Click Finish

Generated YAML files will be listed in Project Explorer as shown in the following image

Create Variable substitution property file

During deployment of packages/configurations we can substitute the values for:

  • Package properties like activatePkgOnInstall, JDBC connection details etc...
  • Configurations properties like IS user password, group password etc...

We need to provide this property file during deployment which will be replaced in the target IS/UM server.

Follow the cloud deployment documentation to prepare this property file

This property file should be named as “acdlPropertiesReplacer.properties”

Place these assets (packages), configurations (YAML) and variable-substitution property file in the right directory location shown in the following image

Deploy Assets and configuration using ABE

We need to provide a property file with the details like location of source repository and cloud solution details to ABE for deployment of assets/configuration.

Following are the minimal required property which will be passed to ABE.

Sample build.properties file will look like

sag.install.dir=${installDir}

enable.build.CC=true

enable.build.UniversalMessaging=true

enable.build.IS=true

localStore=repo

remoteStore=https://${domain.Host}/integration/rest/internal/wmic-git/stage00-${solution}-${Target_Server_Name}

message=Added new IS assets1

build.source.dir=${repositoryPath}\\source\\${Source_Asset_Repo}

build.output.dir=repo

username=${username}

password=${password}

registryRoot=

fileCommand=transform-properties

you can fins the documentation for this properies under https://documentation.softwareag.com 

where placeholders represents :

${installDir} –ABE installation directory

${domain.Host}- tenant URL

${solution} - Solution Name in development stage

${Target_Server_Name} – target server, Integration Server/Universal messaging name

${repositoryPath} – path for parent directory of source

${username}/${password} - Login credentials of the tenant

${Source_Asset_Repo} – As per our directory structure, pass IS/UM as a directory location for intended assets/configurations   

These placeholders can be substituted as properties from Continuos Integration tools like Jenkins.

 

Place the build property file in ${installDir}\common\AssetBuildEnvironment\master_build and execute the following command from ${installDir}\common\AssetBuildEnvironment\bin  

build.bat buildUploadAssets

image.png

image.png

Good article. it was really helpful.