Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

When updating IM to the newest version, you can either:

  • perform Direct Update
    or

  • use Upgrade Tool. Upgrade Tool helps you upgrade IM to a newer version by checking for possible breaking changes and either fixing them automatically or providing information on how to handle them.

In this section:

Step 1 - Update Check

In this step, you select the version you wish to upgrade to. Versions that you can choose from depend on your current IM version:

  • For versions lower than 3.8.2, there will be the version 3.8.2 available as this is the transition version for the new SFTP infrastructure (https://pricefx.atlassian.net/wiki/spaces/IMDEV/pages/4382917249/22-11+-+SFTP+Migration).).

  • For the version 3.8.2 or higher ones, the following versions will be available:

    • Latest released version

    • Latest LTS (Long Term Support) version with hotfixes

    • If the latest version happens to be the LTS version, then only one version is available

1-init-20240619-060511.png

When you select a version, you will learn that either:

  • No breaking changes were detected and you can perform Direct Update.

    1-direct-update-20240620-104702.png

  • Or there are some changes that will most likely break existing integrations (for example changes in Camel syntax for routes).

    1-code-analysis-20240620-110150.png

In that case, it is strongly recommended to continue with the Upgrade Tool to run Code Analysis, which checks for such changes and provides automatic fixes or solutions on how to handle them. Otherwise, there is a significant risk of ending up with a broken integration.

Step 2 - Code Analysis

In this step, the Upgrade Tool will analyze the code of the existing IM instance and display warnings with solutions that can be used.

2-results-20240620-112709.png

In your IM's GitLab repository, a new branch will be created from your current IM branch. The update to the new version and all automatic changes will be applied and tested on that new branch first to prevent breaking the existing IM instance.

2-new-branch-20240620-112827.png

Here you have these options:

  • Continue to Code Modification

  • Run Code Analysis again using the Re-Analyze button

  • Perform Direct Update

  • Cancel the update process. The temporary branch that was created will be removed.

Step 3 - Code Modification

In this step, automatic code fixes are applied in the new branch. Every change is represented by a separate commit.

There are also some files added to the temporary branch, which are needed to build a custom image with the changes. These files will not be merged into the final upgraded IM.

3-branch-changes-20240620-114459.png

You can check individual commits to see what has been changed. In the following example, one attribute in the Camel route has been modified to accommodate syntax changes in the newer Camel version:

image-20240621-055856.png

After the changes are applied to the temporary branch, the result screen is displayed where you can continue to Test Update:

3-results-20240620-114536.png

Step 4 - Test Update

In this step, tests are performed to ensure changes do not break the upgraded IM:

4-results-20240620-115000.png

If tests were successful, you can proceed with the update.
If there were errors found, it is recommended that you stop the update procedure and report the issues to Support.
If you fix the issues manually in Git, you have the option to re-run the tests by clicking Re-Test Update.
Once everything is OK, you can start the update by clicking Start Update.

Step 5 - Update Result

In this step, changes made in the temporary branch are merged into the target IM branch. After the merge, an upgraded IM is built and started automatically.

During this step, in GitLab, there is a merge branch created, which is then merged into the original IM branch:

image-20240621-052107.png

This results in running some pipelines in GitLab:

5-pipelines-20240621-051835.png

In these pipelines, we can see the pipeline triggered after the merge, which builds the upgraded IM in the target environment, as well as the pipeline which restarted the IM.

After all temporary branches are merged, they are cleaned up from the repository:

5-cleaned-branches-20240620-115616.png

At the end, you are presented with the end step screen:

5-results-20240620-115544.png

Direct Update

Direct Update skips all previous steps and performs the update directly, without running analysis and performing fixes for breaking changes. The warning will be displayed that Direct Update is a potentially unsafe option and should be used only if you are confident that the upgrade will not break your IM or you will be able to recover from it.

du-warning-20240621-060540.png

After clicking Continue, IM will have its version upgraded, then it will be rebuilt and redeployed:

image-20240621-062056.png

If there are some breaking changes between versions and you will perform Direct Update anyway, the pipeline may still pass, and IM may start, but you can have runtime errors that you will have to deal with.

image-20240621-063711.png

See also an article on this topic (with fewer technical details) in PlatformManager documentation.

  • No labels