Related Documents
Document Properties
KbidL28731
Last Modified23-Jun-2020
Added to KB17-Sep-2018
Public AccessEveryone
StatusOnline
Doc TypeGuidelines, Concepts & Cookbooks
Product
  • Gradle Tools
  • ICM 7.10

Guide - Quick Project Setup

1 Introduction

Intershop 7 (since IS 7.4 CI) is delivered with tools that can be used to build, assemble, upgrade, downgrade, deploy and undeploy software components.

The present document is intended as a quick start guide for consultants and developers for a quick project setup. The procedures described are based on Intershop 7.9 and 7.10 in combination with Intershop Gradle Tools 2.11.x.

Note

The activities described in this document are intended to give a rough overview of the setup steps. The document helps to get a first impression of the functionalities of the Intershop platform and the "look and feel" when developing applications.

Be aware that this quick guide neither describes the quickest solution for many developers, nor do the approaches mentioned here meet the requirements of a full-scale project setup.

To set up a development environment, please follow the Cookbook - Setup CI Infrastructure guide instead, which focuses on creating a reusable infrastructure for multiple developers.

For more detailed information on how to create a complete CI Infrastructure, please refer to Cookbook - Setup CI Infrastructure.

For more detailed information on deploying Intershop 7 instances, please refer to Cookbook - Deployment Tools ICM 7.9.

1.1 Glossary

TermDescription
NexusSonatype Nexus - an artifact repository server
GradleA build automation tool that builds upon the concepts of Apache Ant and Apache Maven

1.2 References

  • Cookbook - Deployment Tools ICM 7.9 - The Cookbook describes how to use the component-oriented deployment for Intershop Commerce Management 7.9 based on Gradle 2.11.
  • Concept - Gradle Deployment Tools - This Concept describes how to use the component-oriented deployment based on Gradle. This includes the deployment of Intershop 7 and all custom solutions that are created with the Gradle-based build and assembly process.
  • Concept - Continuous Delivery Tools - Intershop 7 (since IS 7.4 CI) is delivered with tools that can be used to build, assemble, upgrade, downgrade, deploy and undeploy software components. These tools are designed to implement very flexible continuous delivery processes. This document targets developers and administrators who want to get an overview of the entire tool chain. It introduces the high level concept of these particular phases of the overall continuous software delivery process.
  • Cookbook - Setup CI Infrastructure - This Cookbook describes in full detail how to create the required CI infrastructure. This document provides detailed examples based on Jenkins as CI server and Subversion for version control. In addition, the Cookbook describes how to set up the required users and permissions.
  • Overview - System Requirements - This document lists all System Requirements for Intershop Commerce Suite version 7.9.
  • Reference - CI Dependencies of Intershop Commerce Management - This document describes the connection between Intershop Commerce Management (ICM) releases and their according Intershop Gradle Tools releases.

2 Preconditions

  • Accessible database scheme
  • Installed Oracle database client
  • Installed 64-bit Oracle JDK 1.8 or higher and an environment variable JAVA_HOME pointing to this JDK installation
  • Installed Java Cryptography Extension (JCE) Unlimited Strength in the JDK
  • ojdbc7.jar file
  • ucp.jar file
  • ons.jar file
  • Valid Intershop contract (Contract ID) and license.xml
  • A Deployment User for deployment and application start (must be the same)

3 Version Control

The present document does not mention any version control system. Nevertheless you should be aware of the advantages of version control systems.

Intershop strongly recommends to store not only your source code but also all continuous integration infrastructure under version control.

The Cookbook - Setup CI Infrastructure outlines how to use Apache Subversion to achieve this.

4 Automation with CI Server

A CI server is perhaps not absolutely necessary to perform the tasks for your setup. However, build automation, automated deployment and self-testing builds are essential for a continuous integration strategy.

The more detailed Cookbook - Setup CI Infrastructure illustrates how to use Jenkins to achieve this.

5 User and Access Rights

This Quick Guide does not describe any user management neither for the artifact repository server nor for the version control system nor for a CI server.

Be aware that an appropriate user management is essential for collaboration and security.


Note

Make sure to apply restricted user credentials, particularly when it is intended to make one of the above mentioned systems or the repository server itself available on the internet.

Please refer to the documentation of the according system to get more information on how to do that.

6 Install Nexus

  1. Install Sonatype Nexus. See Getting Started on the Sonatype Support website for more information.

Intershop provides a script that helps install and configure Nexus. See Intershop's GitHub repository for details.

7 Configure Nexus

Once Nexus is installed properly, the repositories have to be configured.

See Configure Artifact Repository Server.

8 Provide License

Plan the distribution of the license file, e.g., create a folder:

Linux/opt/intershop/license
WindowsC:\intershop\license

The deployment user should have read-access to this location, because the path of the license file must be specified later in the environment.properties file. The license.xml file itself is copied to $IS_SHARE/system/license during deployment.

Note

You cannot start Intershop 7 without a valid license.xml file in the $IS_SHARE/system/license location.

9 Create Sources for CI Setup

9.1 Get the Intershop Template

  1. Download the latest version of the bootstrap package for the CI setup via your browser.

    Note

    It is also possible to create an own clone of the Git repository, see https://github.com/IntershopCommunicationsAG/intershop-cisetup-template.git.

  2. Unzip the contents or clone the Git repository to a directory of your choice, e.g., ProjectHome.

9.2 Edit build.gradle file of the Intershop CI-Setup Template

For more detailed information see

9.3 Execute the Intershop CI Setup Source Creation

  1. Ensure you have installed a valid JDK and set Java_Home correctly.
  2. As Deployment User, open a command line from <ProjectHome>/intershop-cisetup-template-master/ .
  3. Execute:

    ./gradlew intershopCISetupAll

    This initially creates all directories and files needed for your setup.

10 Create the Corporate Artifacts

This section only provides shortened working steps. For more detailed information please refer to the recipe Setup CI Build for Corporate Artifacts in the Cookbook - Setup CI Infrastructure.

  1. As Deployment User: Go to <ProjectHome>/devops/gradle/corporate-distribution.
  2. Open a command line and execute:

    gradlew publish -PrepoUserName=<deployment user> -PrepoUserPasswd=<deployment user password> -PreleaseURL=<URL for release publishing>
  3. Copy Oracle jdbc7.jar, ons.jar and ucp.jar to  <ProjectHome>/projects/oracleDriver/3rd_oracle/build/oracleLibs/jars .
  4. Go to <ProjectHome>/projects/oracleDriver/3rd_oracle.

  5. Open a command line and execute:

    Windows
    gradlew publish -PrepoUserName=<deployment user> -PrepoUserPasswd=<deployment user password> -PreleaseURL=<URL for release publishing>

11 Set Up the Responsive Starter Store

The standard assemblies of the Intershop Commerce Management Suite do not provide any storefront functionalities and/or content. Nevertheless Intershop provides a full grown Responsive Starter Store including the whole view layer with a responsive content model and demo content.

For more detailed information please refer to the recipe Set Up Project Based on the Responsive Starter Store in the Cookbook - Setup CI Infrastructure.

12 Deploy a Server

These steps deploy the server from the current assembly build process.

  1. Navigate to <ProjectHome>/projects/ <ProjektName> / <YourAssembly>/target/samples and copy the file environment.properties.sample to <ProjectHome>/projects/ <ProjektName> / <YourAssembly>.
  2. Rename the file environment.properties.sample to environment.properties
  3. Adapt the environment.properties according to your OS and define the database connection parameters, used ports and interfaces.

    Note

    When using Linux OS, make sure you configure separate multicast ports for each messaging channel.

    Some older Linux distributions have an issue with multicast configurations on the same port and different IPs.

  4. As Deployment User: Open a command line from <ProjectHome>/projects/ <ProjektName> / and execute:

    gradle_environment.[bat|sh]
  5. Build and deploy:

    gradlew deployServer
  6. Navigate to your server directory <ProjectHome>/projects/<ProjektName>/build/server/local/tools/dbinit/bin.
  7. As administrator/with root privileges open a command line and execute:

    dbsetup.[bat|sh]

    More information about the automated, script-based setup can be found here: Guide - Setup Oracle XE as Intershop Development Database.

    For the installation of Oracle database drivers see also: Support Article - Deployment Stops While Looking for Oracle 19 Drivers 

  8. As Deployment User: Open a command line from  <ProjectHome>/projects/ <ProjektName> / and execute:

    gradlew dbinit
  9. As administrator/with root privileges: Open a command line from  <ProjectHome>/projects/ <ProjektName> / build/server/postInstall and execute the post-install script:

    ------------------------------------------------------------------------------------
    To finish the deployment please execute the following scripts as administrator /
    with root privileges:
    /folder/postInstall/installServices.sh
    ------------------------------------------------------------------------------------
    
    
    Use installServices.bat if using Windows OS.
  10. Start the application server.

    Note

    Once source code is added via a component or component set to the assembly, the build processes have to be executed.

    Refer to Cookbook - Gradle Build Tools for more detailed information on how to do this.


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
Support Tickets