Skip to content

Installer Script overview

The installer consist of a set of scripts that can be run individually or be called and orchestrated by the main installer.
All scripts are available as Windows scipts and Linux bash scripts.

installer scripts

  • db-deploy.cmd/sh
  • db-import-data.cmd/sh
  • mt-installer.cmd/sh

utility scripts

  • create-install-tem.cmd/sh
  • create-multi-delivery.cmd/sh
  • validate-solution-set-file.cmd/sh
  • create-backup.ps1/sh
  • restore-backup.ps1/sh

Installer sub scripts

Normally these installer sub scripts will never be called manually, they are called automatically by the IFS Cloud Installer.
The scripts are located in folder ifsinstaller/installers.

db-deploy.cmd/sh

This script will call the database installer to deploy the database code included in the defined delivery.

Note: The db-deploy script will only deploy the /database folder objects - remember to also run the db-import-data script to deploy the /server folder objects to get a complete db installation.

If <delivery>/database/_utils/prepare.sql exist and the password for SYS user has been given, the prepare.sql file will be deployed as SYS user.
If <delivery>/database/install.tem exist the install.tem file will be called and the database code will be deployed.
If <delivery>/database/ial.tem exist and the ifsinfo user has been given, the ial.tem file will be called and the ial code will be deployed.

Syntax:
db-deploy.sh deliveryPath=" <delivery> " userName=" <user> " password=" <password> " sysPassword=" <password> " ialOwner=" <user> " connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(service_name= <sid> )))" logFilePath=" <logPath> " extLogging="<Y|N> " waitingTime=" <value> " initialPasswords="APPLICATION_OWNER= <pwd> ;IFSIAMSYS= <pwd> ;IFSSYS= <pwd> ;IFSMONITORING= <pwd>;"

Parameter Purpose Examples/Defaults
deliveryPath Path to DELIVERY or BUILD_HOME deliveryPath="c:\work\delivery"
userName User name. userName="IFSAPP"
password Password. password="xyz"
sysPassword
(optional)
Password for SYS user in DB. Only used when deliveryPath is set and delivery contains prepare.sql. If sysPassword not defined, prepare.sql as SYS will not be run. sysPassword="abc"
ialOwner IAL owner ialOwner="IFSINFO"
connectString Jdbc url connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(service_name= <sid> )))"
logFilePath Path to the log folder logFilePath="c:\work\logs"
extLogging (optional) Extended logging, defaults to N
extLogging="N"
waitingTime
(optional)
Waiting time if locked processes, default = 3600 (one hour) waitingTime="3600"
initialPasswords This parameter is used when creating the user in prepares.sql

The passwords can be defined for users APPLICATION_OWNER, IFSIAMSYS, IFSSYS and IFSMONITORING.
The argumets will be separated by ; character.
initialPasswords="APPLICATION_OWNER= <pwd> ;IFSIAMSYS= <pwd> ;IFSSYS= <pwd> ;IFSMONITORING= <pwd> ;"

Random value set as fallback in define.tem

This script can also be used to deploy a single file sent as fileName parameter instead of the deliveryPath parameter

Syntax:
db-deploy.sh fileName=" <fileNamePath> " userName=" <user> " password=" <password> " connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(service_name= <sid> )))" logFilePath=" <logPath> " extLogging=" <Y/N> " initialPasswords="APPLICATION_OWNER= <pwd> ;IFSIAMSYS= <pwd> ;IFSSYS= <pwd> ;IFSMONITORING= <pwd> ;"

Parameter Purpose Examples/Defaults
fileName Full path to a file to be deployed. fileName="c:\work\test.sql"
userName User name. userName="IFSAPP"
password Password. passWord="xyz"
connectString Jdbc url connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(service_name= <sid> )))"
logFilePath Path to the log folder logFilePath="c:\work\logs"
extLogging (optional) Extended logging, defaults to N
extLogging="N"
initialPasswords Used when creating the user, when prepares.sql is run as userName="SYS".
 
The passwords can be defined for users APPLICATION_OWNER, IFSIAMSYS, IFSSYS and IFSMONITORING. The argumets will be separated by ; character.
initialPasswords="APPLICATION_OWNER= <pwd> ;IFSIAMSYS= <pwd> ;IFSSYS= <pwd> ;IFSMONITORING= <pwd> ;"

Random value set as fallback in define.tem

db-import-data.cmd/sh

This script will call the dataimport installer to import the files located in the <delivery>/server folder.

Syntax:
db-import-data.cmd deliveryPath=" <delivery> " userName=" <user> " passWord="<pwd>" connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(service_name= <sid> )))" logFilePath=" <logPath> " transRuntime="<Y|N> " transImportAttributes=" <Y|N> " transImportTranslations=" <Y|N>"

Parameter Purpose Examples/Defaults
deliveryPath Path to DELIVERY or BUILD_HOME deliveryPath="c:\work\delivery"
userName User name. userName="IFSAPP"
password Password. buildHomePath="c:\work\build_home"
connectString Jdbc url passWord="pwd"
logFilePath Path to the log folder connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(service_name= <sid> )))"
transRuntime Import only runtime files, default = Y transRuntime="Y"
transImportAttributes Import translatable attributes, default = Y transImportAttributes="Y"
transImportTranslations Import translations, default = Y transImportTranslations="Y"

mt-installer.cmd/sh

This script is called by the IFS Cloud Installer, is not intended to run manually stand alone.
If you want to install only middle tier, it can be done by sending parameter --set action=mtinstaller to IFS Cloud Installer

Utility scripts

These utility scripts are only used in some advanced processes.
The scripts are located in folder ifsinstaller/utils.

create-install-tem.cmd/sh

This script can be used to create the *.tem files (e.g. install.tem) and other merged files, called by install.tem, depending on the information in the install.ini file.
If credentials are sent to the script, connection to the database will be performed, the install.ini will be updated according to information in the database, and the files will be created/recreated.

Syntax:
create-install-tem.sh deliveryPath=" <delivery> " buildhomePath=" <build_home> " userName=" <user> " password=" <password> " connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(service_name= <sid> )))"

Parameter Purpose Examples
deliveryPath Path to DELIVERY (can be same as BUILD_HOME) deliveryPath="c:\work\delivery"
buildHomePath Path to BUILD_HOME buildHomePath="c:\work\build_home"
userName (optional) User name for application owner (if not given, install.ini will not be updated according to database information) userName="IFSAPP"
password(optional) Password for applicaton owner (if not given, install.ini will not be updated according to database information) password="xyz"
connectString (optional) Jdbc url (if not given, install.ini will not be updated according to database information) connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(service_name= <sid> )))"

create-multi-delivery.cmd/sh

This script can be used to create a merged delivery of single deliveries. More documentation about merging deliveries can be found here.

Syntax:
create-multi-delivery.sh mergeType=" <type> " deliveryPath=" <delivery> " deliveryDestPath=" <deliveryDest> "

Parameter Purpose Examples
mergeType maintem or mergetem
maintem:
- The database folder in each single delivery will be copied to database folder as a subfolder, named as the single delivery and a new install.tem (master install.tem) will be created, calling these single deliveries install.tem in the defined copy order.
mergetem:
- The database sub folders will be copied in sequence and the files calling these single files in the subfolders will be regenerated, as well as the tem files (e.g. install.tem) and install.ini file.
mergeType="maintem"
deliveryPath Path to the folder containing the single deliveries. deliveryPath="c:\work\deliveries"
deliveryDestPath Path to the created merged delivery. deliveryDestPath="c:\work\mergedDeliveries"

validate-solution-set-file.cmd/sh

This script can be used to validate the solutionset.yaml file against the dependency information in the deploy.ini(s) in the <build_home> and <delivery>. If no delivery exist, delivery path should point to <build_home>

Syntax:
validate-solution-set-file.sh deliveryPath=" <delivery> " buildHomePath=" <build_home> "

Parameter Purpose Examples
deliveryPath Path to DELIVERY (can be same as BUILD_HOME) deliveryPath="c:\work\delivery"
buildHomePath Path to BUILD_HOME buildHomePath="c:\work\build_home"

create-backup.ps1/sh

This script is used to create a backup of a namespace.
Syntax Linux: create-backup.ps1/sh -n <namespace> -b </path/to/backup>
Syntax Windows: create-backup.ps1/sh -namespace <namespace> -backupPath <C:\backups\myBackup>

Parameter Windows Parameter Linux Purpose Examples
-namespace (mandatory) -n (mandatory) Name of the namespace to backup. -n myNamespace
-backupPath (mandatory) -b (mandatory) Path to where to store the backup files. -b /opt/ifs/mybackup
-k (optional) -kubeconfig (optional) Path to kubeconfig file -n /opt/store/config
-context (optional) -c (optional) Context to use -c myCluster

restore-backup.ps1/sh

This script is used to restore a backed up namespace.
Syntax Linux: restore-backup.ps1/sh -n <namespace> -b </path/to/backup> Example Windows: restore-backup.ps1/sh -namespace <namespace> -backupPath <C:\backups\myBackup>

Parameter Windows Parameter Linux Examples Examples
-namespace (mandatory) -n (mandatory) Name of the namespace to restore. -n myNamespace
-backupPath(mandatory) -b (mandatory) Path to where backup files are stored. -b /opt/ifs/mybackup
-kubeconfig (optional) -k (optional) Path to kubeconfig file -n /opt/store/config
-context (optional) -c (optional) Context to use -c myCluster