Related Documents
Document Properties
Kbid28K663
Last Modified03-Feb-2020
Added to KB06-Jul-2018
Public AccessEveryone
StatusOnline
Doc TypeVideo Tutorials
Product
  • ICM 7.7
  • ICM 7.8
  • ICM 7.9
  • ICM 7.10

Video Tutorial - Simple Setup of a Development-System

1 Introduction

Welcome to Intershop’s Tutorial Simple Setup of a Development-System. In this tutorial we want to show you the development-system setup step by step. You will get a deployed development server and access to our responsive starter store and all standard functionalities of our ICM 7.9 b2x version.

This video tutorial also applies to setting up an Intershop Commerce Management 7.10 development environment. In this case you only need to add additional database configuration parameters (databaseType and jdbcUrl) to the environment.properties file of your assembly.

<root_project>/<assembly>/environment.properties
# databaseType: oracle | mssql
databaseType = 
# jdbcURL for mssql     : jdbc:sqlserver://<HOST>:<PORT>;databaseName=<DBSCHEMA_NAME>
#     using sid            : jdbc:oracle:thin:@<HOST>:<PORT>:<SID>
#    using service Name  : jdbc:oracle:thin:@//<HOST>:<PORT>/<SERVICE_NAME>
jdbcUrl = 

Steps to be done:

  1. Create a root-project (a_responsive) together with the assembly and sub projects like cartridges.
  2. Build and publish the project to the local repository.
  3. Deploy the server.
  4. Setup the database.

Note

The CI structure with the Nexus preparations, the related Version Control System and the CI Server will not be considered in this tutorial.

This tutorial is valid to Gradle Tools - Version 2.11.

Our system is based on Linux. We additionally provide adoption instructions for systems based on Windows.

1.1 References

2 Video Tutorial

3 Guidance

3.1 Tasks

The project will be set up in our User-Home. The next steps are based on Cookbook - Setup CI Infrastructure.

This Cookbook describes in full detail how to create the required CI infrastructure. It provides detailed examples based on Jenkins as CI server and Subversion or Git for version control. In addition, the Cookbook also describes how to set up the required users and permissions.

We refer to the recipes Create Sources From Intershop Templates and Set Up Project Based on the Responsive Starter Store. For a project setup or development environment setup it is necessary to have scripts, configuration files and also some basic source artifacts. 

3.2 Walkthrough

3.2.1 Create a Root Project

  1. Download the Master.zip from Recipe - Create Sources From Intershop Templates.
  2. Go to Home, open the terminal and enter: wget https://github.com/IntershopCommunicationsAG/intershop-cisetup-template/archive/master.zip.
  3. Unzip master.zip.
    1. Go to intershop-cisetup-template-master and change build.gradle:

      setupDirectory = '/home/intershop1/intershop-cisetup-sources'
      repoBaseURL = 'http://localhost:8081/nexus/content'
      distributionURL='http://localhost:8081/nexus/content/distributions/gradle-dist/test.corporatename/2.0.0/test.corporatename-2.0.0.zip'
      projectName = 'a_responsive'
  4. Open the terminal and enter: ./gradlew intershopCISetupAll.
  5. Search the link to the Intershop Responsive Starter Store using Product Resources (https://support.intershop.com/pc/index.php) and paste the link into your browser using your own localhost.
  6. Download the zip file.
  7. Go to intershop-cisetup-sources/projects/a_responsive.
  8. Copy and extract your a_responsive starter store zip file in the root project and skip the overwriting.
  9. Delete all b2c content (inspired-b2c, .ivyIcm-b2c) (STRG+H → show hidden files).
  10. Open the build.gradle from the root project.
  11. Change:
    1. from apply plugin: 'com.intershop.gradle.artifactorypublish-configuration into //apply plugin: 'com.intershop.gradle.artifactorypublish-configuration
    2. from apply plugin: 'com.intershop.gradle.simplepublish-configuration into //apply plugin: 'com.intershop.gradle.simplepublish-configuration
  12. Delete:

    */**
    * This plugin will create a source package of the build.
     * It is possible to use this e.g. for the creation of an ESCROW package.
     * _This plugin is optional._
     * See https://github.com/IntershopCommunicationsAG/gradle-release-plugins
     **/
     apply plugin: 'com.intershop.gradle.escrow-plugin'
    
    escrow {
     sourceGroup = 'com.intershop.public.source'
     exclude '**/target'
     exclude '**/gradle/wrapper/gradle-wrapper.properties'
     }*
  13. Delete:

    artifactory *{
    publish {
    // for ivy publications
    repository {
    maven = false
    }
    // list of publication names
    defaults {
    publications('ivy', 'ivyEscrow')
    }
    }
    }*
  14. Change ivy('icm-b2c', 'com.intershop.assembly:commerce_management_b2c:7.9.0.0') {} into //ivy('icm-b2c', 'com.intershop.assembly:commerce_management_b2c:7.9.0.0') {}.
  15. Change defaultUpdateProvider = ['icm-b2c'|'icm-b2x'] into defaultUpdateProvider = ['icm-b2x'].
  16. Change def assemblyProjects = [ project(':inspired-b2c'), project(':inspired-b2x') ] into def assemblyProjects = [ project(':inspired-b2x') ].
  17. If the distributionURL property was not already set with the task intershopCISetupAll (see step 3 and 4):
    1. Go to your own Nexus and copy the distribution URL http://localhost:8081/nexus/content/distributions/gradle-dist/test.corporatename/2.0.0/test.corporatename-2.0.0.zip.
    2. Go to intershop-cisetup-sources/projects/a_responsive/gradle/wrapper and paste the URL into gradle-wrapper.properties.
  18. Go to intershop-cisetup-sources/projects/a_responsive.
  19. Open the terminal: ./gradlew enableHotCodeReloading.

    If a build failed messasge occurs in this step that points to a missing gradle.properties file in your gradle home directory (${HOME}/.gradle/gradle.properties), create an empty gradle.properties file at this location for further processing.

  20. Copy environment.properties in intershop-cisetup-sources/projects/a_responsive/inspired-b2x/target/samples.

    If there is no sample file in this directory, it may have been copied to the location defined in the ORG_GRADLE_PROJECT_buildEnvironmentPropertiesSample property within the gradle_environment.sh/.bat file. This depends on whether the gradle environment was previously set in the console or not.

  21. Paste it into intershop-cisetup-sources/projects/a_responsive/inspired-b2x.
  22. Change and customize it with your own properties.

    We recommend to use the development properties file to overwrite default settings.

3.2.2 Build and Publish the Project

  1. Go to the root project intershop-cisetup-sources/projects/a_responsive.
  2. Open the terminal:

    . gradle_environment.sh
    ./gradlew publish

3.2.3 Deploy the Server

  1. Go to the root project intershop-cisetup-sources/projects/a_responsive.
  2. Open the terminal:

    . gradle_environment.sh
    ./gradlew deployServer
    su - 
    (insert password for root privileges)
  3. Execute /home/intershop1/intershop-cisetup-sources/projects/a_responsive/build/server/postInstall/installServices.sh.

3.2.4 Setup the Database

Steps 1 and 2 can be skipped if the database is already prepared. Otherwise, setting up the database requires dba permissions.

  1. Go to home/intershop1/intershop-cisetup-sources/projects/a_responsive/build/server/tools/dbinit/bin/.
  2. Open the terminal: ./dbsetup.sh.
  3. Go to home/intershop1/intershop-cisetup-sources/projects/a_responsive/build/server/local/bin.
  4. Open the terminal:

    . environment.sh
    ./dbinit.sh -classic
    su - (insert password for root privileges)
  5. Go to the directory with the console: cd /etc/init.d.
  6. Execute the tasks to start the services:

    /etc/init.d/microservicesService1 start
    /etc/init.d/DiscoveryServerService1 start
    /etc/init.d/eserver1 start

3.2.5 Build All Search Indexes

  1. Open the browser and go into your Intershop System Management (https://localhost:443/INTERSHOP/web/BOS/SMC).
  2. Login with:
    • username: admin
    • Password: !InterShop00!
  3. Go to Scheduling and search for the domain SDLSystem
  4. Click Apply.
  5. Run the job rebuild search Indexes.

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