Update IM to Newer Version

When updating IM to the newest version, you can 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:

1-init-20240619-060511.png

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

  • No breaking changes were detected.

    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).

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.

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.

Here you have these options:

  • Continue to Code Modification

  • Run Code Analysis again using the Re-Analyze button

  • 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.

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:

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

Step 4 - Test Update

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

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:

This results in running some pipelines in GitLab:

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:

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

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

IntegrationManager version 5.8.0