A vNext build task to get artifacts from a different TFS server

With the advent of TFS 2015.2 RC (and the associated VSTS release) we have seen the short term removal of the ‘External TFS Build’ option for the Release Management artifacts source. This causes me a bit of a problem as I wanted to try out the new on premises vNext based Release Management features on 2015.2, but don’t want to place the RC on my production server (though there is go live support)....

February 18, 2016 · 3 min · Richard Fennell

Running a SaaS service at scale

Brian Harry has done a couple of very interesting posts (post 1 and post 2) on the recent outages of the VSTS service. Whether you use VSTS or not they make interesting reading for anyone who is involved in running SaaS based systems, or anything at scale. From the posts the obvious reading is you cannot under estimate the importance of in production montoring having an response plan doing a proper root cause analysis and putting steps in place to stop the problem happening again Well worth a read

February 12, 2016 · 1 min · Richard Fennell

Repost: What I learnt extending my VSTS Release Process to on-premises Lab Management Network Isolated Environments

This a a repost of a guest article first posted on the Microsoft UK Developers Blog: How to extend a VSTS release process to on-premises Note that since I write the original post there have been some changes on VSTS and the release to TFS 2015.2 RC1. These mean there is no longer an option to pull build artifacts from the an external TFS server as part of a release; so invalidating some of the options this post discusses....

February 12, 2016 · 9 min · Richard Fennell

Release Manager 2015 stalls at the ‘uploading components’ step and error log shows XML load errors

Whilst seting up a Release Management 2015.1 server we came across a strange problem. The installation appears to go OK. We were able to install the server and from the client created a simple vNext release pipeline and run it. However, the release stalled on the ‘Upload Components’ step. Looking in event log of the VM running the Release Management server we could see many many errors all complaining about invalid XML, all in the general form...

February 11, 2016 · 1 min · Richard Fennell

vNext Build editor filePath control always returns a path even if you did not set a value

You can use the filePath type in a vNext VSTS/TFS task as shown below { "name": "settingsFile", "type": "filePath", "label": "Settings File", "defaultValue": "", "required": false, "helpMarkDown": "Path to single settings files to use (as opposed to files in project folders)", "groupName":"advanced" } to present a file picker dialog in the build editor that allows the build editor to pick a file or folder in the build’s source repository While doing some task development recently I found that this control did not behave as I had expected...

February 8, 2016 · 2 min · Richard Fennell

A new vNext task to run StyleCop

Update 6 Feb 2016 - I have made some major changes to this task to expose more parameters, have a look at this post that details the newer version Today a good way to pull together all your measures of code quality is to run SonarQube within your automated build; in a .NET world this can show changes in quality over time for tools such as FxCop (Code Analysis) and StyleCop....

February 4, 2016 · 2 min · Richard Fennell

Follow up from my session at the Black Marble Tech Update 2016

There have been some requests for more information about the areas I convered in my presentation at the Black Marble Tech Update 2016 that we held last week. I could send out slides, but I think it is far more useful to point you at the ‘live’ resource on the Internet. The key reason for this is that the whole of the Visual Studio family is now being released at a ‘cloud cadence’ i....

February 2, 2016 · 2 min · Richard Fennell

Fixing cannot load dashboard issues on BlogEngine.NET using sub blog aggregation

As I discovered during my BlogEngine upgrade, there is an effort within the project team to focus the codebase on three possible usage models on any given BlogEngine server instance: Single blog with a user – a personal blog (default) Single blog with many users – a team/company blog Many blogs each with a single user – a set of related blogs that can be agregated togther I needed the third option, problem was in its history our blog has been both of the other two types, so I have multiple user accounts for each blogs, and login usernames are repeated between individual blogs on the server....

January 4, 2016 · 3 min · Richard Fennell

Upgraded to BlogEngine.NET 3.2

I have just completed the upgrade of this blog server to the new release 3.2 of BlogEngine.NET. I did a manual upgrade (as opposed to the automated built in upgrade) as I needed to make a few changes from the default settings. The process I used followed the upgrade process document Downloaded the latest release and unzip the folder Run the SQL upgrade script (in /setup/sqlserver folder), this adds some new DB constraints Created a IIS web site using the new release Copied in the sample web....

December 31, 2015 · 2 min · Richard Fennell

Running CodeUI tests on a VM with on remote desktop session open as part of a vNext build

If you want to run CodeUI tests as part of a build you need to make sure the device running the test has access to the UI, for remote VMs this means having a logged in session open and the build/test agent running interactivally. Problem is what happens when you disconnect the session. UNless you manage it you will get the error Automation engine is unable to playback the test because it is not able to interact with the desktop....

December 23, 2015 · 2 min · Richard Fennell