Related Documents
Document Properties
Kbid
V29834
Last Modified
20-Jul-2021
Added to KB
26-Mar-2021
Public Access
Everyone
Status
Online
Doc Type
Support Articles
Product
  • ICM 7.10
  • Intershop CaaS

Support Article - Change Server Properties (UAT/PROD) for CaaS Customers

Product Version

7.10

Product To Version

7.10
Status

final

1 Introduction

This article explains the necessary steps to change or add a (specific) property (e.g. webserverURL) when only the implementation partner has access to the required system.

For this, Gradle Deployment Tools provide some features that are applied to the configured file(s) and properties. As an example, this document describes changing the webserverURL, both globally and also domain-specific. 

Generally it is recommended to use domain-specific configuration files (if you want to configure the webserver for domains) for each environment.

1.1 References

2 Technical Background

For changing a global property (e.g. webserverURL=example.com) that is specified in the appserver.properties file (located in /server/share/system/config/cluster/), filters can be used. For details see Cookbook - Deployment Tools ICM 7.10 | Recipe: Change Deployed File Content With Filters.

For domain-specific configuration, the following configuration file specifies the relevant domain folder finder settings for the lookup of the domain-specific configuration:

$IS_SHARE/system/config/cluster/configuration.xml
<set finder="domain-folder" scope="domain" matches="^${environment}_[\w&&[^_]]*$" fileExtensions="properties,xml"/>
<set finder="domain-folder" scope="domain" matches="^[\w&&[^_]]*$" fileExtensions="properties,xml"/>

Based on the finder configuration, the following files would be found/match: [IS_SHARE]/system/config/domains/<domain>/<environment>_*.properties

3 Preparation Steps

For information on how to add domain-specific files with the matching names and correct WebServer URLs as custom files via the deployment, see Cookbook - Deployment Tools ICM 7.10 | Recipe: Deploy Custom Files.

Example for configured environment names are:

Directory: [IS_SHARE]/system/config/domains/
./<domain1>/uatedit_Url.properties
./<domain1>/uatlive_Url.properties
./<domain1>/prodedit_Url.properties
./<domain1>/prodlive_Url.properties

As the changes cannot be applied directly to the target system, it is necessary to use a deploy.gradle file in the project. The filters function of Gradle Deployment Tools allows to overwrite the setting ("intershop.WebServerURL") during the deployment. deploy.gradle then could then look as follows:

<root-project>/<assembly>/deploy.gradle
buildscript {
    dependencies {
        classpath 'com.intershop:deployment-bootstrap:+'
    }
}

apply plugin: com.intershop.deploy.assembly.TargetPlugin
apply plugin: com.intershop.deploy.infrastructure.InfrastructureDeploymentPlugin

deployment{
	filters {
		overrideProperties('setWebserverURL') {
			dir = target.shareDirectory
			include 'system/config/cluster/appserver.properties'
			properties['intershop.WebServerURL'] = 'https://www.example1.com:8080'
		}
	}
}

The domain-specific files with the matching names and correct webserverURL can be added as content via the deployment.

To follow the additional (domain-specific) approach, use a "CustomProperty" (here: DomainSpecificProperties) to copy your custom file to the target.

copy custom file via gradle
deployment{
	files {
		DomainSpecificProperties {
			// Copy a single file from the root project
			from new File(projectDir, 'uatedit_Url.properties')
			// Define target of the copy operation
			into new File(target.shareDirectory, 'system/config/domains/<yourSite>/')
		}
    }
}

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Tickets