Committing artifacts back to SVN trunk

Hey all,

I am new to TeamCity, and I must say that I am loving it! With builds on over 3 different OSes, TeamCity really makes my job easy!!

I was wondering if it is possible to configure TeamCity server to commit build artifacts back to the SVN trunk on the event of a successful build. The event is already captured, so it should be possible, right?

Also, I have a Visual Studio .NET 2003 solution that needs to be built on Windows XP. I can't use TeamCity's SLN2003 runner because of the integrated NAnt thing... I don't use NAnt, and the solution is not based on .NET but on native C++. So, I used to the Command Line runner to run the build command. Now, the issue I am facing is this:

  • If I run the following command from the Windows command prompt, it works fine: devenv MyApp.sln /rebuild "Release Trial"
  • I configured TeamCity's command line runner like this: Command: devenv.exe  Command line arguments: MyApp.sln /rebuild "Release Trial"
  • All evnvironment variables as well as the working directory are configured correctly.
  • Now, when I run the build script it begins normally. The output shows "Cleaning intermediate files..." (the normal output of devenv), then just as compilation is about to begin, devenv crashes with a Windows XP standard error report dialog.


This occurred consistently each time I tried to run the build using TeamCity. And running it from the command line was no problem at all! I tried all the tricks I could think of (setting up environment variables manually, using the /safemode and /useenv command line options for devenv, putting the command in a batch file).... Does anybody else have any idea at all?

3 comments
Comment actions Permalink

Why do you need committing files back to version control? To do this you will need to use agent-side checkout. Please check the settings of VCS checkin build trigger to skip checking from the build.

Could you please check the user account the runs build agent service. The user account should be some real account.
Try running devenv.exe from that account once.

Take a look to possible issues at:
http://confluence.jetbrains.net/display/TCD4/VC+Build+Issues
Note, some issues are not applicable to VS 2003, but others make sense.

Thanks!

0
Comment actions Permalink

Thanks for the info! It was helpful...

About this SVN thing.... Before I used TeamCity, I used to make my builds manually (using  makefiles, and command line interface). So, I used the repository to keep track of binaries as well (this isn't same as tagging.. but I tag my code as well, ie, after a version is released, the source with the binaries are tagged). Didn't want to diverge from that pattern. Do you have any suggestions on how I should maintain my builds?

Anyway, my website is hosted by Rackspace... So could I configure TeamCity to publish builds directly to Rackspace (using FTP, or SFTP)?

PS: Another reason why I wanted a commit back to SVN is that during compile, debug symbols are generated and stored in a separate file, and those are very necessary. I need to keep track of them.

PPS: Thanks once again for the info on VS... I managed to get it started and working!! One minor change though: Instead of calling devenv.exe I put in devenv.com, and it works like a breeze!

0
Comment actions Permalink

Sayan,

TeamCity stores artifacts under <TeamCity data directory>/system/artifacts folder on disk that can be accessed directly. They can be copied directly form the directory on the server (if OS is configured to provide access for it).     
For the time being,  you could uploads files to ftp from the build script. To add ability configure TeamCity to publish builds please take a look to the feature at http://youtrack.jetbrains.net/issue/TW-1558. Please vote/watch for it.

0

Please sign in to leave a comment.