In the previous post we have seen how to hook into the MSBuild process, common to both the Visual Studio and the Team Foundation Server build processes. Now we examine how to leverage the previous achievement in the context of TFS Build. We will examine the solution in a top-down fashion: first the build definition, than the build template, finally the MSBuild target file. The only drawback, is the lack of correlation between the version number appearing in the output assemblies with the Team Build Identifier; this will be correct with the next post.
This is something I did in the past (Build incrementale e numeri di versione [ITA]), and it came out recently on Stack Overflow, so I will take the time to describe how to do this in details. The solution is design around MSBuild: leveraging some extension points, you trigger the custom code that increments some version number in AssemblyInfo.cs, subject to the same conditions that triggers code compiling. Being MSBuild based it will work both on a local (desktop) build, and a Team Foundation Build; you must be careful selecting the correct options for your Build Definition, otherwise it will not function.
Are you shuffling around the machines of your TFS environment? Repurposing them? Changing the roles? Sometimes you need to remove some configured feature, like Build or Proxy. That’s easy to do in 5 simple steps. From the Administration Console, select the Server node (1), on the right panel click on the Remove Feature link (2), select the feature to un-configure (3), mark to enable the Remove button (4), finally press the Remove button (5).
Some days ago, I got an email from a colleague about a build issue. Here is what she wrote me. Hi Giulio, After bringing back the build agents of ___, we’ve experienced below problem I’ve mentioned you this problem before, we’ve experienced the same when started to use ____ for first time. Only deleting the workspaces + physical folders fixed it. I know that many Build Master and TFS Administrators have seen the Unable to create the workspace ___ due to a mapping conflict.
Once upon a time I had to set-up a demo about integrating TFS build with Linux builds. As many knows there aren’t out-of-the-box solutions: currently there are no agents for Linux, so I had to make up something. The solution is composed by the following elements: setup SSH on Linux write a Linux build script, saved in TFS version control modify the custom template using the Community Build Extensions adding these steps: a.
It is amazing how easy is setting up your own environment, nowadays. I am trying new Technologies now and, knowing Azure, I was curious about Amazon. Well, it is more or less the same amount of work: create an account, choose from the Marketplace a VM configured with a blog engine and, voilà, you’re ready to go. Some will turn up their nose on my choice of Wordpress, but I considered how easy is to create and move the content.
Fourteen year at Microsoft and less than two months for switching to a new company I knew nothing before. Even if my job constantly brought me here and there, becoming an expat will be hard. The job is also challenging: this time I am on the Operations side, not on the Development team… but an ALM platform like TFS is, by its nature, in between. I will try to embody the DevOps principles, smoothing and easing the company’s workstream: my experience tells it’s a matter of automating, but how you do it is important as well.
We have an old said “anno nuovo, vita nuova”, with the new year I have an important change in my life, so I have a new home for my blog. I quit Microsoft last year and I was pleasantly surprised by so many people reaching me. Some were amused by my goodbye email, and you, my dear reader, can also have fun.