Share this page

# kDeploy.sh

You can use the `kDeploy.sh` script to install Deployment Management Extensions, OpenText PPM Best Practices, language packs, hot fixes, and OpenText PPM product service packs.

In this topic:

## kdeploy.sh options

Deployment Management Extensions, OpenText PPM Best Practices, language packs, hot fixes, and OpenText PPM product service packs are distributed as a deployment (a software bundle that contains files) in the following format:

    ppm-<Ver>-<ID>[.#'].jar

where

`<Ver>` | represents the OpenText PPM version for which you can install the Extension, Best Practices, or service pack
`<ID>` | represents the unique identifier for service pack
(Optional) `.#'` | represents the revision number for the deployment.

Example

To install an APM service pack:

1. Make sure that the deployment JAR file is in the `<PPM_Home>` directory.

   Note: There is no need to extract anything. The `kdeploy.sh` script does that for you.

2. To apply the APM service pack, run the command:

       sh ./kDeploy.sh -i APM

The following table displays the key command-line options for `kDeploy.sh.` To generate a list of options, run the command `sh ./kDeploy.sh -h.`

Option | Description
--- | ---
-i | Installs deployments. Example To install an APM service pack, run the command: `sh ./kDeploy.sh -i APM`
-l | Lists the deployments installed on an instance.
-D | Searches for bundles in a given directory. Example To search for a file in the `DIR` directory, run the command: `sh ./kDeploy.sh -D DIR`
-h | Provides help for `kDeploy.sh.` Lists all the command-line options.
-hotfix | Deploys hotfixes. If a new hotfix conflicts with the existing hotfixes, it cannot be deployed
-f | Forcibly deploy a new hotfix regardless of the conflicts with the existing hotfixes. Consult with PPM support before using this option.
-undeploy | Undeploys an existing hotfix. If this hotfix conflicts with other existing hotfixes that we deployed later than it, the hotfix cannot be un-deployed.
-validate | Validates an existing hotfix and checks whether the files are deployed correctly.
-nv | Deploys hotfixes without validation.
-debug | Prints debug message for the troubleshooting purpose.
-lang | Installs a language pack after OpenText PPM installation or upgrade. For information about how to install a language pack, see the Multilingual User Interface Guide.
-k | Includes the OpenText PPM database schema password in the command. Automates command execution but may be a security risk.
-u | Includes the OpenText PPM user name in the command.
-p | Includes the password for the OpenText PPM user name in the command. Automates command execution but may be a security risk.
-tidy | Cleans up unnecessary deployment files.
-skip -database | Specifies that database changes are not to be applied if they already exist.
-update- deploy | Extracts the new `kDeploy.sh` file, if a new version exists.

The `kDeploy.sh` script performs conflict check before installing a hotfix:

- If the hotfix files do not exist on the current instance, running the deployment command successfully installs the hotfix.

- If the hotfix is checked to be conflicting with some files on the current instance, the installation would fail.

  To address the conflict issue and to continue the installation, you can contact PPM Support who would provide a `.lst` file that contains the latest MD5 code.

After the hotfix is deployed successfully, the `kDeploy.sh` tool continues to verify whether or not the hotfix is deployed correctly.

## Deploy hotfixes with kDeploy.sh

You can run the `kDeploy.sh` script to deploy hotfixes.

Deploy a hotfix:

To deploy a hotfix, run the following command:

    sh ./kDeploy.sh -hotfix <Deployment_Hotfix>

where `<Deployment_Hotfix>` is the hotfix bundle name.

For example, if the bundle name is `912-debug-QCIM1L12345.jar,` then the corresponding deployment command is as follows:

    sh kDeploy.sh -hotfix 912-debug-QCIM1L12345.jar

### View hotfix deployment information

To view the hotfix deployment information after you run `kSupport.sh:`

1. Navigate to and open the `<kSupport_zip_file>/ppm/index.html` file.

2. Click the Patches Information link.

   The `patches.html` file opens and displays the following information:

   - Version of OpenText PPM instance

   - Service packs applied in current OpenText PPM version

   - All files in the OpenText PPM file system

   - Additional files applied in the current OpenText PPM instance, including SQL files and imported entities (packages, request types, requests, and so on)

   - Service packs deployed in your current OpenText PPM version

3. Check the details in the section(s) of interest.

## Undeploy hotfixes

Running the command `sh ./kDeploy.sh �undeploy <Deployment_Hotfix>` undeploys a hotfix. This command performs files dependency check before undeploying the hotfix:

- If the hotfix files are not included in any other hotfix, running the command undeploys it directly.

- If some files in the hotfix are also included in the hotfixes that are installed later than it, you should undeploy those hotfixes first by running the above command.

  Note: In undeploying a hotfix, running the undeploy command rolls back only DB changes and file changes. It does not roll back DML (Data Modification Language) changes.

## Redeploy hotfixes

If you have successfully deployed a hotfix, and you want to redeploy it, you can run the deployment command `sh ./kDeploy.sh �hotfix <hotfix_bundle_name>` again.

When running this command for redeploying purpose, it would:

1. Perform conflict check.
2. Perform files dependency check.
3. Undeploy the hotfix.
4. Deploy the hotfix again.

## Limitations

The `kDepoly.sh` script contains the following limitations:

- Only DDLs which are used to update a view or a package are fully supported. Other SQLs, like DML or DDL used for altering a table can be deploy successfully but cannot be rolled back by this tool.

- The files contained in the `fs_home` directory are not fully supported by this tool. You can deploy those files using the script, but cannot roll back them.

- This script does not support a patch that is completely composed of SQLs. You cannot use this tool to deploy, undeploy, or redeploy such patches.

https://admhelp.microfocus.com PPM 8942
Tips to improve your search results... OpenText™ Project and Portfolio Management Help Center PPM Help 26.2-26.3 All View Local Help Center View Online Help Center Version: