This blog provides some guidance at a high-level for preparing for IBM UrbanCode Deploy upgrades. Consider these best practices to follow that are approved by our L2 support team.
Our support staff recommends that you upgrade every 6 months or so. The IBM UrbanCode Deploy development team has a monthly release schedule. In general, when the 3rd number changes, it is a good idea to do an upgrade. For example, if you are currently on 188.8.131.52 and 7.2.3.x is released, it is a good time to upgrade. If the 3rd number is still too fast for your organization, the 2nd number as it changes can be used to suggest the upgrade.
NOTE: When the 3rd number changes, this is where database changes are introduced, new feature enhancements are added, etc. When the 4th number changes, this is generally a hotfix release that contains bug fixes.
Keeping up with upgrades makes the upgrade process simpler. The further you get behind on upgrades, the more complex it can become. For example, an upgrade from 6.x to 184.108.40.206 would require you to upgrade to 7.0.x.x and then upgrade again to 220.127.116.11 after migrating all of your UCD Agents from the deprecated jms communication method to the fully supported web communication method. You would also have to take account of the version of Java you are using. Keep in mind that future releases will require Java 11.
Setup a TEST Instance of your UCD Server
Create a clone of your PROD UCD Server that you can use for upgrade testing. You will want the TEST instance to be at the same version as your PROD UCD Server.
Follow these steps to get started:
- Create a copy of your PROD IBM UrbanCode Deploy (UCD) Server that can be used as your TEST instance. This means you should install the software on the same operating system and connect it to a similar backend database (not at the same DB that was setup for PROD).
- Work with your DBA team to create a copy of the PROD UCD database. Your DBA team can help you with this process based on the type of database you are using (i.e. Oracle, DB2, MySQL, MS SQL Server). Our support team calls this a “DBA Refresh” where they can find the differences between the two databases and provide you with the delta.
- Setup a UCD Agent or more in your TEST environment you can use to test deployments.
Time to Test the Upgrade
Once this is in place, you can then follow these steps at the time you are ready to test your upgrade:
- On your TEST UCD Server, take a local backup of the UCD_INSTALL_ROOT folder structure. For example, this could be /opt/IBM/ucd-server for a Linux operating system.
- Ask your DBA to take a backup of your TEST UCD Server database.
- Copy the “appdata” folder structure from your PROD instance to your TEST instance. For example: /opt/IBM/ucd-server/appdata would be updated.
NOTE: you may not need to copy “appdata” after you do it the first time. Most of the changes are deployment records in “appdata/logs” and the repository which is in “appdata/var/repository”. You won’t need all of this.
- If you have updated any plugins on your PROD UCD Server, be sure to that the /opt/IBM/ucd-server/appdata/var/plugins folder is also updated or install the same plugin(s) on your TEST UCD Server.
- Ask your DBA team to update your TEST UCD Server database to reflect any changes that are found in your PROD UCD Server database. Our support team calls this a “DBA Refresh” and generally the DBAs will know how to do this.
Once we have these steps complete, we can then test the upgrade on your QA UCD Server instance.
When the upgrade completes, you won’t need all the component versions configured on PROD, so you may want to import a more recent version of a component so you can do a test deployment to validate everything is working properly.
Following these best practices can help improve your upgrade experience and give you confidence as you prepare for the PROD upgrade of your IBM UrbanCode Deploy (UCD) environment. If you are going to run into an issue, most of the time it is related to the database. It is better to find this out using a TEST instance and addressing it there working alongside our IBM support team.
A good recommendation is to be notified of new releases on a regular basis. To subscribe and receive these updates, please visit: https://www.ibm.com/support/pages/stay-date-my-notifications
I hope this was helpful to you and please reach out to the team if you have any questions.