Upgrading the server in interactive mode

To upgrade the server, stop the server and run the new installation program.

Depending on the version of IBM® UrbanCode® Deploy you are upgrading, be sure to address these build-specific considerations.

Table 1. Build-Specific Upgrade Considerations
Affected Build Consideration
6.1 and later If the server is using an IBM JRE, upgrade the JRE to a version that is shipped with V6.2 or later.
6.1 - IBM UrbanCode Deploy servers and relays must be upgraded at the same time. Agents that connect through relays may not connect successfully until both server and relay are upgraded.
6.2.2 and later IBM UrbanCode Deploy server and agent relays require a Java™ Runtime Environment (JRE) or Java Development Kit (JDK) version 11. After upgrading, these changes apply to the agent relays. Users might notice that some agent relays are no longer listed in the user interface even though they were able to view relays before the upgrade. The new version includes updated security controls. The agent relays are still available to the users. However, System Team administrators can assign agent relays to teams and set the View Agent Relays permission for roles so that appropriate users can see the agent relays in the user interface. Users can install and use agent relays. However, the relays are not listed in the user interface for the user until a System Team administrator assigns the agent relay to teams and sets the View Agent Relays permission.
6.1 - Ensure that all secure property values are obscured, the values of all properties in the history for existing deployments are obscured. In the deployment history for deployments that you run after you upgrade, only secure properties are obscured in the logs.
6.1 - New security features erase old component version import logs to hide secure information. If you want to keep the logs, in the installed.properties file, set the property com.urbancode.ds.cleanup.sourceConfig.fullCleanupSkip to True.
7.0.5 Upgrading to V7.0.5 enables compression of new VC entries that reduces the vc_persistent_record table growth rate. If you are using MySQL or MariaDB, then the upgrade may take longer due to the vc_persistent_record table changes. To avoid the delay on MySQL 5.6 or MariaDB 10.0 or later, run the following SQL statement before starting the upgrade: ALTER TABLE vc_persistent_record MODIFY persistent_data longtext null, ADD compressed_data longblob null, lock=none Note that you can run this command without shutting down the IBM UrbanCode Deploy server. Attention: If the command fails, proceed with the upgrade and let the upgrade script make these changes. In such case, the upgrade requires downtime. It is recommended to run the command on a cloned IBM UrbanCode Deploy database to get an estimate of downtime duration.
7.1.1 Includes a new version of Hibernate; V5.4.20. Hibernate V5.4.20 may require newer versions of the JDBC driver in order to function properly. Ensure that you have a driver version that works with your database and is compatible with Hibernate v5.4.20. This upgrade also removes the hibernate.dialect property from the installed.properties as the new Hibernate version itself determines the dialect.
This task applies to upgrades of V6.1 or later. Contact IBM UrbanCode Deploy support for all other versions.

During the upgrade , the contents of the appdata/patches directory (including all .jar files) will be appended with .off, preventing the existing test fixes from being loaded once the Server is started post-installation. All UI test fixes applied to the Tomcat directory will be wiped by the upgrade and will not be recoverable.

If a text fix received for a reported defect is not fixed in the upgraded version, you may need to open a Support Case to request a new build.

Note: Setting com.urbancode.ds.cleanup.sourceConfig.fullCleanupSkip to True is only effective upon upgrade. After upgrading, component version import logs are automatically cleaned up after 24 hours by default. Refer to Component Versions.
  1. If you have added custom keystores, certificates, or any other files to the server_install/opt/tomcat directory, back up those files before you upgrade. If you do not back up files that you have added to the server_install/opt/tomcat directory, those files are removed when the upgrade process runs.
    Rotate and delete any 3DES keys if you are upgrading to v7.3.0 or later. See Rotating an encryption key for more information.
  2. 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.

  3. Ensure that no application and generic processes are running.
    Open the Dashboard and confirm that no processes are running. If processes are running, you can wait for them to complete or by clicking Cancel in the same row as each process, cancel them. In V6.2.5.1 and later, you can use the Message of the Day feature (Settings > System > General Settings) to notify users of the planned upgrade, and request that they do not start new processes.
  4. Stop the server.
    Warning: If you are upgrading a high-availability installation, stop all of the servers. If any servers are accessing the database when the upgrade happens, the upgrade will cause errors. See Upgrading high-availability installations.
  5. Ensure that the server is stopped:
    1. Check to ensure that there is no file server.pid in the server_install/var folder.
    2. Check for running system processes.
      For example, on Linux™, you can use the netstat or ps commands. For example, if the server is running on port 8443, use the command netstat -nap | grep 8443. You can also run ps -ef | grep server and look for the server system process in the results.
    3. If any server processes are still running, stop them.
    If a server process is still running, when you install the new version, you see an error that says "A previously installed version of IBM UrbanCode Deploy is running. Please shutdown the running IBM UrbanCode Deploy and start the installation again."
  6. Back up the database.
  7. If you are upgrading from a version prior to v6.2.2, upgrade the version of Java on the server to v11 or later.
  8. From the command line, run the server installer program.
    • On Windows™, run the install-server.bat file.
    • On Linux, run ./install-server.sh.
    Depending on your system settings, you might need to run this file as an administrator.
  9. Read the license agreements for the software package. Press Enter to show one page at a time, or press F and then press Enter to show the entire license at once.
  10. If you agree to the terms of all of the license agreements, press Y and then press Enter.
  11. At the prompt that says Enter the directory where the IBM UrbanCode Deploy server should be installed., specify the folder of the existing installation and press Enter.
  12. At the prompt that says A previous version exists in the specified directory. Do you want to upgrade the currently installed version? press Y and then press Enter.
  13. Verify that the server is stopped and then press Enter to start the upgrade process.
  14. Start the server and verify that the server has been migrated.
    If you get error Shutdown file is present! Is the server running?, check that you are using Java 11. If so, remove the -Djava.endorsed.dirs=<PATH> from the JAVA_OPTS variable in the set_env file.
  15. Ensure that licensing is set up for the server.
  16. Optional: If you are upgrading the server from V6.0.1.1 or earlier to a version later than V6.0.1.1, upgrade the encryption key strength.
  17. Optional: Upgrade the agents.
    See Upgrading agents. If you are upgrading from a version before to V6.1.0.4 or later, you must upgrade agents that use Java plug-ins, including most source configuration plug-ins. If you do not upgrade the agents, they will throw an IllegalCharsetNameException exception that refers to the variable DS_SYSTEM_ENCODING.

If you are upgrading from V6.2.3.0 to or later, upgrade all agent relays to the current version. Agents that connect through relays may not connect successfully until both server and relay are upgraded.