Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-5227

Add an option to override the 'cleartool' location for slaves

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      The 'cleartool' location is currently global to the whole Hudson instance: It can't be configured differently when running a job on a slave on which CC is not installed in the same place as the master.

        Attachments

          Issue Links

            Activity

            Hide
            rseguy Romain Seguy added a comment -

            Andrew,

            I've implemented this enhancement on version 1.0.2 of the CC plugin (cf. the attached clearcase-1.0.2-bib.zip file). I've done the following:

            • Created a new ClearCaseInstallation class which aims at describing the global config for the plugin (it extends ToolInstallation to allow overriding the home folder on slave nodes).
            • For backward compatibility, this class still delegates some of its parameters (merge time window) to the descriptor of ClearCaseSCM.
            • ClearCaseSCM.ClearCaseScmDescriptor.doVersion() has had to be dropped.
            • ClearCaseSCM.ClearCaseScmDescriptor.getCleartoolExe() has been rewritten to delegate to ClearCaseInstallation.getCleartoolExe().
            • I've dropped ClearCaseSCM/global.jelly and moved some parts of it to ClearCaseInstallation/global.jelly.
            • There has been a very few other changes on other classes.

            ==> The plugin works fine on a mixed Windows/Linux environment, with CC not being in the PATH (which is the case in my company and unfortunately I can't change that). This allow the plugin configuration to be 100% compatible but it's not a good design, I think this part of the plugin should be redesigned. If you wish, I can provide you with a fix for the latest version of the plugin (which would be incompatible with earlier versions).

            Regards.

            NB: It's compiled against 1.312, so I've had to drop two methods using BuildStepMonitor.

            Show
            rseguy Romain Seguy added a comment - Andrew, I've implemented this enhancement on version 1.0.2 of the CC plugin (cf. the attached clearcase-1.0.2-bib.zip file). I've done the following: Created a new ClearCaseInstallation class which aims at describing the global config for the plugin (it extends ToolInstallation to allow overriding the home folder on slave nodes). For backward compatibility, this class still delegates some of its parameters (merge time window) to the descriptor of ClearCaseSCM . ClearCaseSCM.ClearCaseScmDescriptor.doVersion() has had to be dropped. ClearCaseSCM.ClearCaseScmDescriptor.getCleartoolExe() has been rewritten to delegate to ClearCaseInstallation.getCleartoolExe() . I've dropped ClearCaseSCM/global.jelly and moved some parts of it to ClearCaseInstallation/global.jelly . There has been a very few other changes on other classes. ==> The plugin works fine on a mixed Windows/Linux environment, with CC not being in the PATH (which is the case in my company and unfortunately I can't change that). This allow the plugin configuration to be 100% compatible but it's not a good design, I think this part of the plugin should be redesigned. If you wish, I can provide you with a fix for the latest version of the plugin (which would be incompatible with earlier versions). Regards. NB: It's compiled against 1.312, so I've had to drop two methods using BuildStepMonitor .
            Hide
            btosabre btosabre added a comment -

            We host "farm" of Hudson servers in our enterprise for about 20+ teams and 200+ users. Some of the teams are using Clearcase. We are using mainly distributed builds. In our opinion possibility to configure cleartool location on different servers has Major priority because it forces us to keep configuration for PATH in .ssh/environment on each slave separately. We would like to have this configuration way consistent with other build/scm tools.

            Show
            btosabre btosabre added a comment - We host "farm" of Hudson servers in our enterprise for about 20+ teams and 200+ users. Some of the teams are using Clearcase. We are using mainly distributed builds. In our opinion possibility to configure cleartool location on different servers has Major priority because it forces us to keep configuration for PATH in .ssh/environment on each slave separately. We would like to have this configuration way consistent with other build/scm tools.
            Hide
            vlatombe Vincent Latombe added a comment -

            Romain, sorry for the delay, but I finally applied your patch.

            Show
            vlatombe Vincent Latombe added a comment - Romain, sorry for the delay, but I finally applied your patch.
            Hide
            rseguy Romain Seguy added a comment -

            No problem, thanks for having applied the patch. I hope you had not too much work to do since I built it for the "old" release 1.0 of the CC plugin.

            Show
            rseguy Romain Seguy added a comment - No problem, thanks for having applied the patch. I hope you had not too much work to do since I built it for the "old" release 1.0 of the CC plugin.

              People

              • Assignee:
                vlatombe Vincent Latombe
                Reporter:
                rseguy Romain Seguy
              • Votes:
                1 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: