Let’s create very simple Asp.Net Web Forms application first. Here I do nothing but use the template to create a simple app.
First a VS Solution.

Next add a ASP.Net Web Forms Application.


Now we have a basic Asp.Net Forms Application up and running.


Let’s check in this to TFS.


Now we have a simple application checked in to TFS.

Our next goal is to set up a CI Build, which builds for each changeset we check in. A new build definition can be created by navigating to Builds from Team Explorer Home, and clicking on New Build Definition.


Build name specified as “DemoWS.CI”.

In the trigger we have to set as Continuous Integration to make the build trigger for every check in.

Source settings we have to specify the correct source mapping.
We do not want to create any output from this CI build. We are just making sure our code is in a valid state and compile without errors.
In the Process tab of build definition we specify solution to build and we are setting build agent tags to correctly locate the build agent.

We are setting at least a build agent with VS2013 available should be located when the build is triggered.



Configuration to build we are selecting in this demo is Release and Any CPU.


We do not want to keep all successful builds in a CI build, since this is just a verification of latest source state of success compilation.

Once we save our build definition is ready.

We can queue a test build by right clicking on the build definition and click on Queue New Build.

Build is just started
Double click on this will open detail view.

Our CI build is done. (Ignore the time taken to build, my build server is having only 512MB RAM and TFS server only 2 GB of RAM, it will be much faster in a virtual/physical environment with more resources :))

Now let’s do a code change and check in to see if a new build triggers. Assume I have a bug to fix :)

So let’s do the fix.

We do the change

Then check in while resolving/closing the task.


Check in has triggered a build and it is done.

We can see our work items (task and Bug) associated correctly to the build.

The task is set to closed automatically.

We can resolve the Bug now.

Next I will explain how to create a release build with a build out put.
No comments:
Post a Comment