Contents tagged with Continous Integration
-
Running TypeMock with Gallio on build server or agent without local install
I tend to dislike having to do local installs of software on my Puzzlepart build servers (or agents) because this also means that developers will need to install something specific to be able to build the project. That's bad and unfortunately the norm for the projects I've downloaded and reviewed lately.
-
Building Web Application Projects with CCNET
One of the things about Visual Studio 2005 I disapprove of the most is the way features related to your project are stuffed into the local devmachine environment under Program Files. Among other things the coming GAT (guidance automation toolkits) work this way, and so does the new bootstrapper packages. There are many drawbacks to this strategy, and they all become apparent when you decide to do distributed development against a common build environment.
So, when you're starting up with your Web Application Project (WAP) and install the MSI plugin for Visual Studio 2005 you pretty much know that this will break on the buildserver, or your fellow developers machine if the same MSI is not installed on that client. Most likely the other client (CCNET or another dev) will get a taste of this error:
error MSB4019: The imported project "C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Of course you could select the dictator strategy and enforce distributed installation of the WAP MSI installer, but I tend to prefer to keep my project completely packaged.
First copy the targets file to your solution directory and add it as a solution item so it is included in sourcecontrol. Then unload your WAP by right clicking in the Solution Explorer and then select "Edit MyWAP.csproj" to edit the MSBuild markup. Change this line:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplication.targets" />
To this:
<Import Project="$(SolutionDir)\Microsoft.WebApplication.targets" />
Now save your csproj file and reload the project by right-clicking the unloaded project node in the solution explorer. This will give you a security warning (beware! you've edited your own build file) that you can safely ignore.
Now, Visual Studio automatically feeds MSBuild with the SolutionDir property so this will load in your IDE, but if you're going to call MSBuild from another tool, like NAnt, make sure you pass in a value for SolutionDir when executing msbuild.exe.
I know the WAP thing is reused across multiple projects and it is a good thing to have the templates in the "Microsoft Visual Studio 8" folder for easy access, but it does create a lot of work for us that want to keep our projects buildable in multimachine environments. -
CruiseControl.NET adds complete support for SourceGear Vault
Cool stuff. As of two days ago with the 0.9.2 release of CCNET SourceGear Vault is now completely supported! This means that labelling and autogetsource is in place and finally VSS has no advantage over Vault with CCNET any more. Another very cool new feature is the UserFilter functionality which allows you to prevent the build from triggering on certain conditions. This allows you to change stuff in your solution items without triggering the build, among other things.
-
Anders Hejlsberg visits Oslo
Today we've had the pleasure of having Anders Hejlsberg on a visit to Oslo and he's been touring press, academic foras, NNUG, JavaBin, and a Microsoft hosted event. My colleague Trond Brande followed mr. Hejlsberg with two talks on upcoming SQL Server 2005, and I finished the day at Folkets Hus with two sessions on Best Practices for development, and Visual Studio Team System.
-
SourceVault and CruiseControl.NET
For a recent project we had to discard Visual Source Safe for source control because we needed remote access to our build system. Previously we've been using SourceGears Source Off Site to access VSS, but this time we noticed that SourceGear had a pricing model that made their SQL Server based source control system Vault a cheaper option. In the process we also considered moving to CVS which was available internally, but discarded it due to the developers incompetence (myself included) on the subject.
-
Enterprise Continous Integration
Mike Roberts, one of the lead devs of the CruiseControl.NET project, has just published a paper on Enterprise Continous Integration.
-
More Sharepoint tasks for NAnt
Seems like a Sharepoint Developers like NAnt and developers that emply continous integration (usually with NAnt) also likes Sharepoint.
-
NAnt 0.85 RC1 Released
Long awaited Release Candidate 1 of v0.85 is ready for NAnt. Added support for .NET 2.0 Beta 1, Mono and NUnit 2.2 are the major new features.
-
Refactoring our Continous Integration
I am currently upgrading our standard Continous Integration solution to the latest version of CruiseControl.NET when this great tip on versioning with CruiseControl.Net led me to this excellent wikientry AspNetWithoutWebProjects.
-
CruiseControl.NET v0.7 RC-1 Released!
The team at Thoughtworks have released a new version of their Continous Integration tool CruiseControl.NET. We've currently got CruiseControl.NET running on several of our developmentprojects and welcome this new release. It is really reassuring to see this project moving forward and taking the position as the primary CI tool for .NET awaiting the competition from Microsofts Team System.