Creating an RTC Hot Fix - PowerPoint PPT Presentation

creating an rtc hot fix n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Creating an RTC Hot Fix PowerPoint Presentation
Download Presentation
Creating an RTC Hot Fix

play fullscreen
1 / 93
Creating an RTC Hot Fix
82 Views
Download Presentation
lacy-maddox
Download Presentation

Creating an RTC Hot Fix

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