Installing the server in silent mode

In silent mode, you specify the installation properties in a text file and then run the server installation without command-line prompts.

  • If installing in a production environment, make sure that you have a license server with available licenses. See License management for more information.
  • Ensure that the system that you are installing the server on meets the system requirements. See System requirements and performance considerations.
  • Ensure that a supported version of a Java™ Runtime Environment (JRE) or Java Development Kit (JDK) is installed on the computer on which you are installing IBM UrbanCode Deploy.

    For more information, see System requirements for IBM UrbanCode Deploy.

    Important: Beginning in version 7.0.2, the IBM UrbanCode Deploy server and agent relays require a Java Runtime Environment (JRE) or Java Development Kit (JDK) version 11.
    Important:

    For best results, download and use the latest available version of the IBM Java Runtime Environment (JRE) for the IBM UrbanCode Deploy server and agent relays. An IBM JRE is available as a separate download. See the IBM developer kits page to get the latest version. Install the IBM JRE according to the documentation on the page. Be sure to set the JAVA_HOME system variable to the location of the IBM JRE. If you are updating or changing the JRE to the latest version, see Changing or updating the JRE of servers, Changing or updating the JRE of agents, and Updating the JRE location for agent relays for instructions. For documentation on the IBM JRE, see IBM SDK, Java Technology Edition.

  • Set the JAVA_HOME system variable to the location of the JRE or JDK that you are using.
  • If you are installing the server in a production environment, install and configure the server database before you install the server. See Installing the server database. If you are not installing in a production environment, you can install an instance of Apache Derby during the installation steps. You can migrate the database to a different database system later, as described in Migrating the server database.
  • If you are using a database other than Apache Derby for the server, place the JAR file for the database driver in the lib/ext folder of the installation program.
  • If you are installing the server on AIX® platform, the unzip program is required.
  • Make sure that your networks and firewalls allow communication on the required ports. See Firewall and communication configuration.
  • To install and run the server on Linux™ as a non-root user, create a user to use when you install and run the server. Also, ensure that the user has read and write permission to the folder to which you are installing the server.
  • Ensure that there is no limit on the maximum memory size and virtual memory size. For example, on most Linux systems, you can run the ulimit -m and ulimit -v commands and ensure that both return the value unlimited. To find out how to remove the limit on the maximum memory size and virtual memory size, see the documentation for the operating system.
If you are adding the server to a high-availability cluster, including as a cold standby server:
  • Configure the high-availability cluster; see Setting up high-availability clusters.
  • Ensure that the system on which you are installing the new server has a connection to the cluster network storage and that the system can connect to the database that the cluster is using.
  • Each server in the cluster must run the same version of IBM UrbanCode Deploy.
For information about high-availability clusters, see High availability and failover. For information about cold standby, see Adding cold standby servers.
You specify the server installation properties in the install.properties file, which is located in the root folder of the installation files. During the installation process, the server stores these properties in the installed.properties file, which is in the conf/server folder of the server installation files. If you have an already existing installation, you can use its installed.properties file as an example of the properties.
Note: Some of the properties in the table below can be changed after the server has been installed and others cannot. After the server starts for the first time, the server adds other properties to the installed.properties file. Some of these additional properties can be changed and others cannot.
  1. Download and extract the installation files for IBM UrbanCode Deploy.
    These files are available for download from the IBM Passport Advantage® website. See the IBM UrbanCode Deploy download document.
  2. If you are using a database other than Apache Derby, place the JAR file for the database in the lib/ext folder of the installation files.
  3. Customize the installation by specifying the properties in the server installation properties file.
    If you do not specify a property, the default value is used. These properties are copied to the installed.properties file of the completed installation.

    If you specify a path in a property on a Windows system, you must escape any backslash (\) characters that are in the path. For example, to set the install.server.dir property to C:\ucd, specify install.server.dir=C\:\\ucd. See java.util Class Properties.

    Note: The server.initial.password needs to be specified or install will fail.
    The file looks similar to the following example:
    component.name=UrbanCode Deploy 
    component.directory=ucd/server 
    version=7.3.1.0.1153379 
    nonInteractive=true 
    install.server.dir=/opt/ucd/server 
    install.java.home=/opt/IBM/ibm-java-i386-80 
    install.server.web.always.secure=Y 
    install.server.web.host=myserver.example.com 
    install.server.web.https.port=8443 
    install.server.web.ip=0.0.0.0 
    install.server.web.port=8080 
    database.type=derby 
    hibernate.connection.username=ucd 
    hibernate.connection.password=password 
    hibernate.connection.url=jdbc:derby://host-or-ip:11377/data 
    database.derby.port=11377 
    license.server.url=27000@RCLServer.example.com 
    server.initial.password=admin
  4. Save the file.
  5. Specify the -silent flag when running the installer. Add the flag to the installation file with the command install-server.bat -silent on Windows or the command ./install-server.sh -silent on Linux.

    V7.0 introduces new arguments to the install-server.bat and install-server.sh.

    These scripts behave identically and take combinations of the following arguments:
    -silent -install-dir /path/to/install -java-home /path/to/jdk
    They each correspond to properties in install.properties , and if specified they will override them. Corresponding properties are as follows:
    Table 1.
    Argument Property Description
    -silent nonInteractive=true Installs without interactive command-line prompts. You must specify the -install-dir path must and also, specify the non-default configuration in install.properties file.
    Note:
    Running with -silent and without an -install-dir results in an error.
    -install-dir /path/to/dir install.server.dir=/path/to/dir The path to the install directory. The install directory can be an existing server directory (upgrade) or a new path (fresh installation).
    Note:
    Setting an install-dir that already has an existing server results in a server upgrade.
    -java-home /path/to/jdk install.java.home=/path/to/jdk The path to the JDK version is to be used for the server.
    Note:
    Running the command with the -java-home for a server upgrade results in an error.
The installation program installs the server. The properties that are set during installation are recorded in the file server_install/conf/server/installed.properties on the server.

If you install the server as a node in high-availability cluster, the installer loads the existing encryption keystore that is in the shared storage folder by using the default settings. If the default password is incorrect, you are prompted for the password. If after three attempts you do not enter the correct password, the installation process stops. If the keystore has more than one alias, you are prompted to specify an alias.

To start the server, see Starting and stopping the server.
When you run the server for the first time, you might see an error message that says that no agent or tag is configured to import new component versions. To import component versions, including built artifacts, you must use an agent, and the server requires that you specify a default agent for this purpose. You can override this default setting when you create a component. Follow these steps to specify a default agent or agent tag:
  • To specify a default agent, click System > System Settings and under General Settings, clear the Use Agent Tag For Integration check box. Then, select an agent in the Agent for Version Imports list. Then, at the bottom of the page, click Save.
  • To specify a default agent tag, click Settings > System Settings and under General Settings, clear the Use Agent Tag For Integration check box. Then, select an agent tag in the Agent Tag for version imports list. Then, at the bottom of the page, click Save. If no tags are listed, add a tag to one or more agents on the server.

If you see "Out of memory" errors, increase the amount of memory that is available to the IBM UrbanCode Deploy service. See Increasing the amount of memory that is available to the server.

If you are using Derby, you might see the following error in the results of the installation program:
[echo]     waiting for db to start - 6 seconds remaining
[echo]     waiting for db to start - 3 seconds remaining
[echo] Could not start database
[echo] Stopping embedded database ...
[java] Tue Feb 04 09:11:25 EST 2014 : Could not connect 
  to Derby Network Server on host localhost, port 11377: 
  Connection refused
If you see this error, you must change the default security settings for the Java installation on the server:
  1. Open the Java security policy file in a text editor. If you are using a Java Runtime Environment (JRE), this file is at the location JAVA_HOME/lib/security/java.policy, where JAVA_HOME is the base folder of the Java installation. If you are using a Java Development Kit (JDK), the file is at the location JAVA_HOME/jre/lib/security/java.policy.
  2. In the java.policy file, in the section that is labeled // default permissions granted to all domains, within the grant{} block, add the following code:
    permission java.net.SocketPermission "localhost:11377", "listen";
  3. Run the installation program again.