Wow. This was really painful.
I'm setting up CruiseControl.NET to build our projects at work. I'm forced to use a CVS server for the source code repository that has been configured to use the pserver mode for authentication.
It was easy to figure out how to set the cvsroot settings in the config file, but it was not easy for me to figure out how to set the password.
Turns out I didn't exactly need to. Here's how it seems to work:
First, you should know we're using CVSNT, so YMMV.
Run the cvs.exe with the -d parameter for your cvsroot, and use the login command. It will prompt you for the password.
And then it automagically saves it somewhere, I know not where, nor do I care. But I do know it is specific to the user profile. So, in our case, the CruiseControl.NET service will run as a faceless/system account, which will have its own profile. You'll have to temporarily run the cvs command as this system account in order to do the login command for it to save the password.
The documentation for CVS sucks really big rocks, by the way. All there is is a lot of reference material with no guidance, and a lot of questions from people who wouldn't be caught dead using pserver.