• 2.185

      There are many bugs and limitations which arise mainly on Windows related to use of symbolic links for build directories (Run.createSymlink for lastSuccessful -> builds/lastSuccessfulBuild, and PeepholdPermalink.writeSymlink for builds/lastSuccessfulBuild -> 99).

      Under the assumption that few users even know about, let alone care about, the longstanding Jenkins feature of allowing you to refer to, say, a particular artifact from the last stable build of a job using a fixed file path on the master node (for use from external systems), I think it is reasonable to split this out into a plugin for the tiny set of people who need it, and not bother everyone else with these bugs.

      PeepholePermalink.resolve does use symlinks as a kind of cache, useful for example to avoid massive build loading when resolving lastFailedBuild when the past several hundred builds in fact succeeded. But perhaps this can be done in some other way, like a simple $JENKINS_HOME/jobs/$job/permalinks.properties. That would anyway result in better performance for those Windows users who cannot create symlinks.

      (Even Unix users are occasionally hit by problems when they use, e.g., cp -r to back up $JENKINS_HOME. IIRC it is a filed bug that this results in cryptic exceptions.)

          [JENKINS-37862] Extract build symlink handling to a plugin

          Jesse Glick created issue -

          Jesse Glick added a comment -

          Discussed this with dnusbaum in the context of JENKINS-36088.

          Jesse Glick added a comment - Discussed this with dnusbaum in the context of  JENKINS-36088 .
          Jesse Glick made changes -
          Link New: This issue relates to JENKINS-36088 [ JENKINS-36088 ]
          Jesse Glick made changes -
          Link New: This issue relates to JENKINS-52781 [ JENKINS-52781 ]

          Pierre Beitz added a comment -

          jglick I like this idea (and also I need it to fix symlink issues of the shelve plugin once and for all). I'm happy to start working on it, but cannot commit to any timeline. Would this be ok for you or do you intend to tackle it soon?

          Pierre Beitz added a comment - jglick I like this idea (and also I need it to fix symlink issues of the shelve plugin once and for all). I'm happy to start working on it, but cannot commit to any timeline. Would this be ok for you or do you intend to tackle it soon?

          Jesse Glick added a comment -

          I will give it a shot.

          Jesse Glick added a comment - I will give it a shot.
          Jesse Glick made changes -
          Assignee New: Jesse Glick [ jglick ]
          Jesse Glick made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Jesse Glick made changes -
          Remote Link New: This issue links to "jenkins #3982 (Web Link)" [ 22594 ]
          Jesse Glick made changes -
          Remote Link New: This issue links to "build-symlink-plugin (Web Link)" [ 22595 ]

            jglick Jesse Glick
            jglick Jesse Glick
            Votes:
            2 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: