Skip to end of metadata
Go to start of metadata

This plugin integrates Jenkins with Microsoft Visual SourceSafe .

Plugin Information

View Visual SourceSafe on the plugin site for more information.

Changelog

Version 1.9 (2011/8/8)

  • Added support for multiple paths in SourceSafe (JENKINS-810)

Version 1.8 (2010/9/19)

  • Fixed a ClassCastException with Maven projects (JENKINS-5404)

Version 1.7 (2009/4/23)

  • Fixed a bug that caused invalid channgelog generation if comments include non-ASCII characters. (report)

Version 1.6 (2009/4/22)

  • If run on Unix, report an error message pointing out that it only runs on Windows.
  • Improved error diagnosis when changelog.xml fails to parse (report)

Version 1.5 (2009/3/25)

  • Improved error diagnosis (report)

Version 1.4 (2009/2/25)

Version 1.3 (2009/2/18)

  • Fixed a ClassCastException used with Maven projects.

26 Comments

  1. Some tips about using the VSS Plugin.

    When I first configured it, I was seeing the text 'Started...' on the Console Output. It took me a while to realize that this was due to the VSS 'getHistory' and 'checkOut' taking about 20-30 minutes. When it is doing the 'getHistory' there appears to be no visible feedback (either on the console output or on the file system). After about 10 minutes, when it starts checking out (getting) the files from VSS, the file system (workspace) starts getting refreshed. As far as I could tell that's the only feedback available.

    In case any one else runs into issues with the configuration, I thought I would post some more details about the configuration ...

    1. Server Path - provide the path to the srcsafe.ini file. This is usually the same network path mapping that you would do on your VSS client. Example - \\serverName\path\srcsafe.ini
    2. VSS Folder Path - provide the path from the VSS Project Root. Example - $/ProjectRoot
    3. Keep files as writable - I would recommend keeping this checked especially for .Net projects. In my case, I was using an Nant solution task to build a .Net project, relying on the same .sln & .csproj file used by developers (& checked in to VSS). The developers had custom PostBuildEvents configured in the .csproj files that were conflicting with the automated build ... by keeping the files as writable, I was able to xmlpoke and manipulate the PostBuildEvents.
    4. Use Update - KEEP THIS UNCHECKED ALWAYS. When running .Net builds with this option checked, I found that compile errors would go unreported sometimes ... this was because some dependencies would be omitted by the compiler in the compile step as their assemblies (dlls) were already available. Keeping this unchecked slows down the build (get from VSS), but it is worth it.

    Other issues -

    I could not figure out how to setup the VSS Plugin on a Windows 2003 server that had Hudson configured as a service. The problem is that when Windows starts Tomcat as a service (I am running Hudson under Tomcat), the service is started by 'System'. There is no Network mapping available to the VSS share. The 'get' from VSS fails in this case.

    I tried to start the service using a logon id, but even that didn't work.

    I finally gave up and I am working around by having a logon startup .bat script to map the network drive to VSS + start Tomcat / Hudson. And I keep the logon session active always. It sucks, but that is the only setup I could get it working.

  2. I installed Hudson on Windows XP to use the VSS Plugin (this is mandatory, it does not work under Linux).

    What I else needed to make this plugin work was a Visual Source Safe Installation on this machine.

    I run Hudson in Tomcat. Tomcat is running as a Service. You can run a service in windows with a specific user (right mouse button on the service in windows service view -->Log On tab). You will need this if  the default user of the service uses a local user that has no access to the network. (Log On Tab)

    Mapping a network drive is not necessary for the configuration of the plugin. \\serverName\path\srcsafe.ini is sufficient.

  3. Unknown User (user.java@yahoo.com)

    I installed Hudson and Trying to Poll to VSS to do the CI. I am running JBoss/Java 1.6 on Windows (AMD 64 bit) Operating System.

    Downloaded latest VSS Plugin and i am getting this error
    Started by user anonymous

    FATAL: D:\java\build\hudson\plugins\vss\WEB-INF\lib\com4j.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

    java.lang.UnsatisfiedLinkError: D:\java\build\hudson\plugins\vss\WEB-INF\lib\com4j.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

            at java.lang.ClassLoader$NativeLibrary.load(Native Method)

            at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1778)

            at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1674)
      

    Any help How to fix this ?

    Thanks,

    User

    1. I know this is old, but I ran into it myself and found a fix. I had both c:\Program Files (x86)\java\jre6\bin and c:\Program Files\java\jre6\bin

      If you uninstall the x64 java and either install or point to your x86 version of java, you'll be good to go

  4. Unknown User (r4nd7263)

    using VSS 1.7 plugin.  every other day or so the VSS pulling (which I set to every 5 mins) would hang and never finishes the job.  Can't manually cancel the job either; I would have to restart the server JBoss 4.2.3.  any thoughts on this?  Thanks

  5. Unknown User (boy.pockets.forward@gmail.com)

    Hi,

    I have troubles setting up Hudson to work with Visual Source Safe. I am past most of the problems listed above to do with tomcat permissions (I *think*). I believe I have the Visual Source Safe plugin part of the project configuration set up correctly (I believe it is retrieving the VSS srcsafe.ini file and It is accessing the VSS Folder Path (specified by $/Directory/ProjectDirectory).

    I think the problem I have is specifying the MS Build File under the build step. Whatever I specify here, I get the following error log:

    Started by user UserName
    Path To MSBuild.exe: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe
    Executing command: hudson.util.ArgumentListBuilder@3ec403
    workspace $ cmd.exe /C C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe /p:Configuration=Debug /property:SolutionDir=X:\Hudson\jobs\Current\project" $/Directory/ProjectDirectory/Project.sln && exit %%ERRORLEVEL%%
    Access is denied.
    Sending e-mails to: UserName@email

    Finished: FAILURE

    (sad)

     Can anyone tell me where I am going wrong?

    or

    Can anyone give me an example of how they specified the build file location? Maybe a VSS screen shot too?

    At the moment, here is what I am specifying:

     

    The reason that I don't think it is an acccess issue is that whatever I change it to (ie something incorrect), it will still give the same error.

    Thanks in advance,

    pockets

    1. Unknown User (boy.pockets.forward@gmail.com)

      Ok,

      So I *think* the problem was with the server path (Source Code Management >Visual Source Safe > Server Path > ...). Which was not what I expected, because I though that I was getting the Visual Source Safe ini file (srcsafe.ini) without problems.

      Although you will be able to figure it out with trial and error, I hope t his will save some time for someone:

      Source Code Management

      Visual Source Safe

      Server Path // you actually need to specify the file name too (srcsafe.ini) for example: \\server\directory\srcsafe.ini.

      User Name //the user name that you are sending to VSS. This needs to be set up in Visual Source Safe Administrator. (note, at the moment, this user just has read access, though it *might* need more)

      Password // password for username

      VSS Folder Path // the path of the folder in VSS, you can get this by navigating to the folder inside the Visual Source Safe Explorer (Client(question) ), navigating to the top direcotry of the solution and copying the path name. For example, $/Directory/Project.

      Keep the files as writable // i have this checked

      Fetch the files in recursive order // i have this checked

      use update // i don't have this checked.

      Build

      MSBuild Build File // from the director in VSS listed in the VSS Folder Path, specify the location of the build file (in my case, I am using the solution file). For example, Utils.sln

      Command Line Arguments // At the moment all i am doing is setting the configuration type: /p:Configuration="Debug" , but i might also want to set the build output: /property:SolutionDir="X:\Hudson\jobs\Directory/Project/"

  6. Unknown User (boy.pockets.forward@gmail.com)

    I have it (well, not it, but a simple example) working. I will post what was wrong in a second.

    [edit] for the solution, see the post above...

  7. Unknown User (twaipei@yahoo.com)

    Had a problem with VSS plugin. Whenever Hudson build executed and get latest using VSS plugin, Hudson knew there where latest files in VSS but it doesn't overwrite the physical files in my project directory. I am still having the old sources.

    I've checked Keep the files as writable, Fetch the files in recursive order & Use update.

    FYI, i used custom workspace because I doesn't want to Hudson clean up the workspace.

  8. I'm having trouble with this plugin, it seems to makes Hudson crash randomly.

    A short while after a VSS polling, my tomcat server just disappears! I don't have a clue why because the crash doesn't leave an indication in the tomcat logs, a jvm stacktrace or anything useful.

    1. Jean-Marc,
      Is there a file in your tomcat directory that looks like hs_err_pid*.log because I am getting the same issue... My hudson is running in a VMWARE image but I will be logging this as an issue.. seems to be either the COM4J library or how the VSS plugin uses this library (as it seems the AD authentication that uses the same library doesn't cause any issues....).

      J.

      1. Unknown User (boy.pockets.forward@gmail.com)

        Hi,

        I am having this problem too. I have the hs_err_pid*.log files... Seems to be the same sort of problem (COM4J related). My Hudson is also running in a VMWARE image.

        pockets.

        hudson_love

        1. Unknown User (skaught)

          I also had the exact same problem as you guys. It turned out that using Visual Source Safe 2005 was causing hudson to crash. I installed Visual Source Safe 6.0 and it hasn't crashed since.

          1. Unknown User (boy.pockets.forward@gmail.com)

            I just tried to install Visual Source Safe 6.0 instead of 2005. Although it has stopped crashing tomcat, it has also stopped being able to download things from the repo. When a job is kicked off, it just hangs. Once I manage to stop it, this exception is spat out (can't find any log):

            java.lang.NullPointerExceptionat hudson.plugins.mstest.MSTestPublisher.perform(MSTestPublisher.java:66)
            at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
            at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:508)
            at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:494)
            at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:482)
            at hudson.model.Build$RunnerImpl.post2(Build.java:181)
            at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:466)
            at hudson.model.Run.run(Run.java:1197)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:123)
            

            Did you have to do any config for VSS6 after installing? - on the server or on Hudson?

          2. Unknown User (boy.pockets.forward@gmail.com)

            A restart of Hudson (Tomcat)  did the trick :)

            1. Unknown User (boy.pockets.forward@gmail.com)

              hmmm... it still seems to hang a bit - not as bad as before, but randomly seems to not do anything in the build at all - just hangs and when I manage to stop it, it gives that error above. Any ideas?

              1. Unknown User (boy.pockets.forward@gmail.com)

                After another week of testing, it seems to hang freqently. It will not stop Hudson, it just clogs up the Executor. I have found the best way to fix it  is to restart tomcat. But maybe this is something to do with my set-up since scott (above) does not exeperience the same problem...

  9. I'm now running it under it's own web server... seems to be a bit more stable... however, memory usage is going up and up... perhaps that's with the polling? Seem to be a memory leak - maybe in the com4j dll?? Think this is what caused Tomcat to crash as COM4J was always mentioned in the hs_err log file....

  10. Does anybody know how to contact the maintainer of this plugin?  I'm having trouble figuring out who it is.  There's an enhancement that was made to allow multiple VSS repositories (comma separated) and I'd like to find out when the next release is expected.  This would be very helpful on my project.

    http://issues.jenkins-ci.org/browse/JENKINS-810

    Thanks.

    1. I guess I'm the tentative maintainer, but if anyone is willing to be a maintainer, please step up...

  11. Just to update. I suppose I'm the maintainer now. I don't have much time to spend on it, but there are outstanding issues that we experience, most notably that it causes Jenkins to crash every two weeks. I've applied one fix for this in the 1.9 version along with the multiple path feature, but I'm sure there is something else at fault.

    Any help in finding the cause will be appreciated.

  12. Here's an tip that I didn't read on this wiki, but found it else where.

    My bad, I didn't read the second post!

    I needed to install the Visual SourceSafe client and then needed to reboot my Windows XP to be able to check out things with this plugin.

    The error that i got was:

    Started by an SCM change
    [checkout] Checking previous build
    [history] Getting list of changes since Mon Aug 29 15:15:43 CEST 2011
    [history] Unable to open database \\<servername>\VSS$\srcsafe.ini hudson.util.IOException2: com4j.ComException: 80040154 CoCreateInstance failed : <error in Dutch> : .\com4j.cpp:135

    So installing the Visual SourceSafe client and a reboot after that fixed this issue for me.

    The site that I found it on: link

  13. 1.8 used to retrieve a SourceSafe path (e.g., $/foo/bar/baz) so that the root of the Jenkins workspace directory was the contents of baz.  In 1.9, the workspace contents is foo/bar/baz/...  I.e., the workspace directory contains a folder named foo which contains a folder named baz, etc.

    This breaks all the other Jenkins configuration data (e.g., paths of artifact files) as well as custom build scripts that we launch.

    Is there a way to regain the old behavior?  (We have SourceSafe paths that are very deep and reflect team organizational structure that we don't want in our workspace.)

    1. I should add that I see the issue:  If multiple VSS paths are specified, you typically don't want the contents of all those directories overlaid into your root workspace directory.  But sometimes you do.  Especially (but not only) if you only specify a single VSS path.

  14. Unknown User (jeanarthurdeda)

    Hello,

    Can anybody tell me or point in the direction from where I can find out how can I install this plug in wih Jenkins on windows 7?

    Regards,

    Jean-Arthur Deda.

  15. Sorry for my english :)

    When i try run the build happen a error.

    Jenkins can't access remote folder he only access local folders.

    I tried change the user services jenkins but no success. I need help.

    Please.