I am using SVN + CruiseControl.NET + MSBuild to create .NET projects. This is a technology specific, so you understand the environment and my terminology, but the question is more general.
Now my CI workflow is pretty simple:
- CC.NET detects new revision on project trunk detected in SVN
- CC.NET working copy is updated with SVN
- MSBuild runs against .proj file in trunk
- Unit testing in progress
- If successful, the project is copied / deployed.
In step 3, I want to βstampβ the version number on the assembly; in my case, in the AssemblyInfo.cs file, most likely using something like the AssemblyInfo task from msbuildtasks. In addition, I would like to be able to repeat this assembly on this particular version number. Right now, I think that probably after the 4th step, I will need to transfer / tag back the SVN project using the stamped AssemblyInfo.cs, but I had problems finding the easiest way to do this.
If I execute a project with a stamped AssemblyInfo.cs file back to the repository, it cannot be for the trunk, as this will cause another automatic collection: an infinite loop. Therefore, I would suggest that he would need to go to the new tag. So, I would mark the revision, switch the working copy to the tag, commit, and then switch back to the torso. Is this a common way?
Or am I complicating this too much? Do I even have to worry about fixing this assembly back to the repo or just fixing the built project and saving it in a structured place in the file system?
source share