We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you two Citrix podcasts. Learn about 2020 trends and get answers to your biggest Citrix questions!Listen Now

x

VSS and CruiseControl.NET

craigdev
craigdev asked
on
Medium Priority
1,663 Views
Last Modified: 2013-12-17
I have a problem with accessing VSS from CruiseControl.NET. When I run cruise as a console it works perfectly but when I start CC as a windows service I get errors in the log that no source safe database was found.

Have tried running the CC service as my own account and as a separate cruise account, none of which seems to work.

Any ideas?


The error I get is "ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: No VSS database (srcsafe.ini) found.  Set the SSDIR environment variable to the path of srcsafe.ini for your VSS database."  - which I have tried.

Full exception
 
----------
ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: No VSS database (srcsafe.ini) found.  Set the SSDIR environment variable to the path of srcsafe.ini for your VSS database.
. Process command: C:\Program Files\Microsoft Visual SourceSafe\ss.exe history "$/External Dependencies/XUnit" -R -Vd10/02/2009;9:54~09/02/2009;17:03 -Y, -I-Y "-O@C:\Documents and Settings\myacct\Local Settings\Temp\tmp47.tmp"
   at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo)
   at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Vss.GetModifications(IIntegrationResult from, IIntegrationResult to, String tempOutputFileName)
   at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Vss.GetModifications(IIntegrationResult from, IIntegrationResult to)
   at ThoughtWorks.CruiseControl.Core.Sourcecontrol.MultiSourceControl.GetModifications(IIntegrationResult from, IIntegrationResult to)
   at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModifications(ISourceControl sourceControl, IIntegrationResult lastBuild, IIntegrationResult thisBuild)
   at ThoughtWorks.CruiseControl.Core.IntegrationRunner.GetModifications(IIntegrationResult from, IIntegrationResult to)
   at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request)
   at ThoughtWorks.CruiseControl.Core.Project.Integrate(IntegrationRequest request)
   at ThoughtWorks.CruiseControl.Core.ProjectIntegrator.Integrate()
   at ThoughtWorks.CruiseControl.Core.ProjectIntegrator.Run()
----------

Open in new window

Comment
Watch Question

I've recently been bitten by the 'Windows Services cannot access mapped drives' problem.  Is your VSS repository access via a mapped drive?

Is the CC Service running as LocalService, or via credentials that allow access to the repository?
I had this same issue and setting the CC service to run as a user who had rights to the VSS database path did the trick.  By default, the CC service runs under the Local System account.  To change this...

1. Right click My Computer.
2. Click Manage.
3. Expand Services and Applications
4. Click on Services.
5. Find CruiseControl .NET Server in the right pane.
6. Right click on it and go to Properties.
7. Go to the Log On tab.
8. Select "This account", and specify a user account that HAS ACCESS to the VSS file path where the database resides, to which CC is trying to connect.
9. Restart the CruisControl .NET Server service.
10. You should be good to go.

Also, be sure that the credentials and VSS database information in your ccnet.config file are accurate.

		<sourcecontrol type="vss" autoGetSource="true">
			<project>$/MyVSSProjectName</project>
			<username>MyServiceUsername</username>
			<password>MyServicePassword</password>
			<ssdir>\\MyVSSDatabasePath\MyVSSProjectDir</ssdir>
			<timeout units="minutes">40</timeout>
		</sourcecontrol>

Open in new window

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.