Taming TFS - Automatic deployment of Click Once projects

We’ve covered deploying web application, now it’s time for click once. So let’s get to it. This is the end result: After some checks I’m retrieving the project files with “FindMatchingFiles” activity, then for each project and each configuration publishing the project and transferring it to the test server. Here’s the breakdown in detail. The “FindMatchingFiles” activity argume…

By on (tags: tfs, categories: infrastructure)

Taming TFS - Automatic deployment of web apps

This time we’ll take a look at web projects and how to publish them automatically after the build. The requirement here was to be able to publish a site via ftp (IIS has a new feature called ftp publishing so why not utilize it). I’m going to stop here for a second and brag on one thing that really bothered me. Microsoft released “1-Click deployment” (not to be mistaken with Cl…

By on (tags: tfs, categories: infrastructure)

SlowCheetah TransformAllFiles msbuild target

I’ve posted about SlowCheetah some time ago, but there’s one thing I forgot to mention. If you’re getting an build error that says “Target TransformAllFiles does not exist” then (assuming that you already have slow cheetah installed) in the project, right click on an xml file and select “Add Transform”. This will add additional files (if you don’t need them, just delete them) t…

By on (tags: xml transformations, categories: infrastructure)

Taming TFS - Digitally signing assemblies

Signing is a bit more tricky than strong naming. I didn’t want to use delay signing, because that requires additional configuration on development stations, so just like with strong naming – plain old simple build on the development machine and the fancy stuff on the build server. I already have a certificate for signing but that needs to be in the build users private cert stor…

By on (tags: tfs, categories: infrastructure)

Registering a certificate in the certificate store

This is another bit that will be helpful with our next tfs build script modification. To use a certificate for either strong naming or signing code, you need to place it in the certificate store of the user asking for it (e.g. if you’re executing an automated build, the user in whose context the build is executed) To place the certificate in the store follow these steps: win+r …

By on (tags: certificate, categories: infrastructure)

Creating a certificate signing request (csr) on windows

This bit will be useful for the next tfs build script modifications that I will describe in a later post. Apparently there are a couple of ways to create a csr - openssl, online services, dedicated tools… But there are also ways to create a csr without installing any software. There's the easy way (for those who have IIS installed) and the bit more complicated way (for those wh…

By on (tags: certificate, categories: infrastructure)

Taming TFS - Strong naming assemblies

Today we’re going to look at another build script adjustment – strong naming assemblies. The scenario we are aiming for is that during development, the assemblies are not signed (so developers don’t need to have the a certificate file - a little bit more on that later), but during a build on the build server they are. This can be handled by providing additional parameters to ms…

By on (tags: tfs, categories: infrastructure)

Taming TFS - Assembly versioning

The assembly version is a number in the form of <Major>.<Minor>.<Build>.<Revision>. What value the placeholders are assigned to is totally up to you, we chose to set the first three numbers manually and set the last one to the change set that the source was built from. At the same time, I didn’t want to limit the options, so by examining the “Build Numbe…

By on (tags: tfs, categories: infrastructure)

TrueCrypt whole disk encryption step by step

Although TrueCrypt has a rich documentation (available here) I could not find any quick step by step tutorial on how to easily encrypt whole system. So this was the reason for this screenshot-based beginner’s tutorial.  Every confusing topic and phrase is well documented in TrueCrypt documentation so I will limit the comments to the very minimum. Before you start installin…

By Mirek on (tags: disk encryption, TrueCrypt, categories: infrastructure, security)

Taming TFS – Default build template

The default build template in tfs is good enough for starters, but what if you want more? Thankfully tfs is flexible enough to customize the build process with anything you want, so let’s get to it! The plan What do we want form our build server? Well, a couple of things Continuous Integration – build after each commit Automatic assembly versioning Strong naming assemblies Digi…

By on (tags: tfs, categories: infrastructure)