1 / 93

Creating an RTC Hot Fix

Creating an RTC Hot Fix. September 18, 2013. Steps for creating a hot fix. Find the work item where the defect is resolved. Check for existing hot fixes. Create a target release installation. Create a repository workspace for the target release. Build. Merge. Rebuild. Create the hot fix.

lacy-maddox
Download Presentation

Creating an RTC Hot Fix

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Creating an RTC Hot Fix September 18, 2013

  2. Steps for creating a hot fix • Find the work item where the defect is resolved. • Check for existing hot fixes. • Create a target release installation. • Create a repository workspace for the target release. • Build. • Merge. • Rebuild. • Create the hot fix. • Test. • Deliver.

  3. Find the work item where the defect is resolved. • Often is will be mentioned in the hot fix summary or description. • Example • Hot fix request 275925 • Summary: Defect 255803 backport to 3.0.1.3

  4. Check for existing hot fixes • Sometimes a hot fix will be requested, and such a hot fix will already exist. The first step should be to see if a hot for already exists. • Look for links on the original defect. • If no links found, run a query.

  5. Example • Hot Fix 275925 requested • Defect 255803 backport to 3.0.1.3 • Look at defect 255803 • Links tab • Link tab shows Hot Fix 259824 under Related.

  6. Example • But, I added it after the fact! It wasn’t there before. So, don’t give up if you don’t see a link. • Search • Jazz Support (Private) project area • I queried for all delivered source control hot fixes • Type is “Hot Fix” • Status is “Delivered” • Filed against in RTC-CCM->Source Control • This returned 36 work items • One of them is 259824: Hotfix request for wi 255803 User without permission can unlock file

  7. Create a target release installation. • If the hot fix is client only, you might be able to get by creating only a client installation, if you can find a compatible server. • For server hot fixes, you will need to create a server installation, and probably a client installation as well.

  8. Example • Hot fix request 277616 • Summary: PM95023 - Cannot browse baselines before the latest 1024 • Customer requested hot fix for 4.0.1. • I did the fix for 4.0.5, so I know that the fix is client only. • So, I installed a 4.0.1 client. • C:\RTC\RTC-Client-Win-4.0.1

  9. Create a repository workspace for the target release. • First create a new Eclipse workspace. • You don’t want to use the same Eclipse workspace you are using for Source Control Integration, because the sanddbox for the common components would be written to the same location. • Workspaces • RTC-dev (for current release development) • RTC-test (for current release testing) • RTC-dev-4.0.1 (for building 4.0.1 hotfix) • RTC-test-4.0.1 (for testing 4.0.1 hotfix)

  10. Create a repository workspace for the target release. • Find the appropriate snapshot. • Team Artifacts View • Rational Team Concert • Source Control • RTC Integration stream -> Show Snapshots • Find the GA snapshot for the release • Note use of RTC Integration stream, not Source Control Integration stream • Note that naming conventions changed over time

  11. Example (4.0.1)

  12. Example (3.0.1.6)

  13. Example (4.0)

  14. Create the repository workspace from the snapshot • Don’t set a flow target. • Hot fixes do not flow to a stream. • Load the appropriate components • Typical list is the following • Filesystem • RelEng • RelEng Common • RelEng RTC • RelEngBuilder • RTC Commons • SCM • Target Definitions*

  15. Find the target platform • Newer releases • Target Definitions component • Older releases • RTC Commons component • Name might not mention “target platform” • Look at history of the relevant component. • Find the correct change set.

  16. Find the target platform • Release 3.0.1.3 • Target platform is in RTC Commons component. • From the RTC Commons component in your repository workspace • Show History • Look for change sets near the date of the snapshot that might reference “target platform”

  17. Find the target platform • The 3.0.1.3 GA snapshot is dated March 26, 2012

  18. RTC Commons History

  19. Find the target platform • It looks like the change set for the target platform is this one. • "203079: [RTC] Prepare the 3.0.1.3 stream for GA - end game - rtc.3x.jcb RTC-I20120326-1442", "Li Zhu", "Mar 27, 2012 6:35 AM“ • To verify, I looked for a hot fix that Matt created on top of 3.0.1.3 to see what he used for his target platform. • I compared his hot fix repository workspace with the 3.0.1.3 snapshot.

  20. Find the target platform

  21. Find the target platform • Yes, this is the correct change set for the target platform. • Accept the target platform change set.

  22. Find the target platform • 4.0.1 hot fix • Now it’s in the Target Definitions component and is easier to find!

  23. Find the target platform • The change sets corresponding to target platforms are also listed on two wiki pages. • For older releases (3.X) • https://jazz.net/wiki/bin/view/Main/RTCTargetPlatformForGAReleases • For newer releases (4.X) • https://jazz.net/wiki/bin/view/Main/RTCTargetPlatformForGAReleases40x#RTC_4_0_1

  24. Build • Once you have your repository workspace set up for the target release, and have chosen the correct target platform, build without your changes first. • If this is successful, then you can merge in your changes.

  25. Build • Some errors are expected and can be ignored

  26. Merge and rebuild • Find the change set or change sets from the fix you are backporting. • Accept the change set(s) into your repository workspace for your target release. • You will probably get a message telling you there are gaps, and you will get a chance to merge. • For simple changes, it is easier to re-apply the change manually, rather than accept the change set.

  27. Create change set for your fix • Create a new change set for your code changes. • Associate your change set to the hot fix work item. • When you are done, you can complete your change set, but do not deliver it to a stream.

  28. Create the hot fix • Existing documentation • L3 Wiki page • https://jazz.net/wiki/bin/view/Main/RTCL3 • Two relevant sections discuss server and client hot fixes. • RTC Server Hotfix (Testfix) Process • RTC Client Hotfix (Testfix) Process • Work item • Task 16840 discusses how to build an update site

  29. Create the hot fix • For an Eclipse client • Build an update site • For RTC CLI or server • Deliver jar files • In all cases, create a zip file.

  30. Create the hot fix • Remember to use Eclipse workspace for development, specific to the target release. • Use the “Plug-in Development” perspective. • Find the bundles that you need to deliver. This will tell you if your hot fix is client, server, or both.

  31. Example • Hot Fix 276616 - PM95023 - Cannot browse baselines before the latest 1024 • Changes are in 4.0.5 Enhancement 279270. • One change set, in Filesystem.

  32. Example • Two bundles • com.ibm.team.filesystem.client • com.ibm.team.filesystem.ide.ui • Both are Eclipse client

  33. Creating an update site Task 168400 - [HOW TO] Build an Update site for the RTC 3.X Client • Modify bundle version in the plug-in xml version number suffix. • Create a new feature project. • Add plug-ins to the feature project. • Create an update site project. • Add the feature. • Save and build.

  34. Example (Hot Fix 276616) • Two bundles • com.ibm.team.filesystem.client • com.ibm.team.filesystem.ide.ui • Open each project in Package Explorer or Project Explorer • Open plugin.xml file • Click on Overview tab

  35. Xml file version

  36. Old plug-in version • The bundle part of the version before the date should match what is in your target installation (3.1.300).

  37. Old plug-in version

  38. Update plug-in version • Change the date on the plug-in version to today’s date and time.

  39. Update plug-in version • Do so for both plugins.

  40. Creating an update site Task 168400 - [HOW TO] Build an Update site for the RTC 3.X Client • Modify bundle version in the plug-in xml version number suffix. • Create a new feature project. • Add plug-ins to the feature project. • Create an update site project. • Add the feature. • Save and build.

  41. Feature Project • Create a new feature project • Make sure you are in the Plug-in Development perspective • File->New->Project

  42. Feature Project

  43. Feature Project Task 168400 - [HOW TO] Build an Update site for the RTC 3.X Client • Modify bundle version in the plug-in xml version number suffix. • Create a new feature project. • Add plug-ins to the feature project. • Create an update site project. • Add the feature. • Save and build.

  44. Select plug-ins

  45. Feature Project

  46. Feature Project • Set the versions correctly. • Versions are in Plug-ins tab.

  47. Plug-ins tab

  48. Update versions and save

  49. Update versions and save

  50. Create update site Task 168400 - [HOW TO] Build an Update site for the RTC 3.X Client • Modify bundle version in the plug-in xml version number suffix. • Create a new feature project. • Add plug-ins to the feature project. • Create an update site project. • Add the feature. • Save and build.

More Related