Using Release Management vNext templates when you don’t want to use DSC scripts

Update 21 Aug 2015 - This post contains all the basic information, but there is an improved PowerShell script discussed in Using Release Management vNext templates when you don’t want to use DSC scripts – A better script Many web sites are basically forms over data, so you need to deploy some DB schema and something like a MVC website. Even for this ’bread and butter’ work it is important to have an automated process to avoid human error. Hence the rise in use of release tools to run your DACPAC and MSDeploy packages. ...

June 18, 2015 · 4 min · Richard Fennell

Fix for 500 internal errors when trying to trigger a Release Management pipeline from a build via the REST API

With the help of the Release Management team at Microsoft I now have a working REST based automated TFS Build to Release Management pipeline. Previously we were using a TFS automated build and then manually triggering our agent based Release Management pipeline. When we moved to a vNext PS/DSC based RM pipeline I took the chance to automate the link using REST via a PowerShell script to trigger the initial deployment. However, I hit problem, first with a stupid 401 permission error and later with a much stranger 500 internal server error. ...

June 17, 2015 · 2 min · Richard Fennell

Failing Ping tests on Application Insights

Whilst setting up Application Insights on one of our web sites I hit a problem. The target site appeared to be working OK, but if I setup a ping test it failed. Digging into the failure, as with much of Application Insights just keep clicking to go deeper, I found the issue was that a CSS file was failing to load. Presumably on this Umbraco site the CSS file is meant to be loaded for the site but none of the styles are actually used, hence the site renders OK. ...

June 8, 2015 · 1 min · Richard Fennell

Windows Media Center issues again

Today was my day for semi annual Media Center (MCE) problems. As usual they seemed to start with an unexpected power issue, a local power cut, maybe the answer is a UPS for the TV setup? Once the PC was rebooted it had forgotten it had any tuners. If I tried to view live TV or re-setup the TV signal it just hung with a spinning ‘toilet bowl of death’ cursor. Corrupt TV data DB I suspect, I have seen it before ...

June 8, 2015 · 2 min · Richard Fennell

Strange TFS build process template editing issue with Typemock

Had a strange issue today while editing our standard TFS 2013 XAML build process template to add an optional post drop script block to allow a Release Management pipeline to be triggered via REST. Our standard template includes a block for enabling and disabling Typemock, after editing our template to add the new script block (nowhere near the Typemock section) our builds failed with the error TF215097: An error occurred while initializing a build for build definition BMISS.Expenses.Main.CI: Exception Message: Cannot set unknown member 'TypeMock.TFS2013.TypeMockStart.DisableAutoLink'. (type XamlObjectWriterException) Exception Stack Trace: at System.Xaml.XamlObjectWriter.WriteStartMember(XamlMember property) It took ages to find the issue, we hunted for badly formed XAML, but the issue turned out to be that when ever we opened the template in Visual Studio 2013 it added the highlighted property ...

June 2, 2015 · 2 min · Richard Fennell

Build and Ignite Event Sessions

If you came to our re:Build and re:Ignite events last week and want more information on the subjects we covered, remember that all the sessions from both the Microsoft Build and Ignite events are available at http://channel9.msdn.com/Events/Build/2015 and http://channel9.msdn.com/Events/Ignite/2015. On these sites you can find videos of the sessions and slide stacks, hours of family viewing.

May 28, 2015 · 1 min · Richard Fennell

Free Black Marble Build and Ignite round up event in Yorkshire

Did you miss content from Microsoft Build and Ignite events? Well you can catch up on Channel9, but we at Black Marble are running free round up events on the 20th May in Leeds. Why not come and talk to Black Marble and Microsoft staff who attended the events? To register go to the Black Marble events site.

May 7, 2015 · 1 min · Richard Fennell

Generating MsTest wrappers for nUnit tests

Recently whilst at a clients one of our consultants came across an interesting issue; the client was using Selenium to write web tests, they wanted to trigger them both from Microsoft Test Manager (MTM) as local automated tests, and also run them using BrowserStack for multi browser regression testing. The problem was to import the tests into MTM they needed to be written in MsTest and for BrowserStack nUnit. As they did not want to duplicate each test what could they ? ...

May 7, 2015 · 4 min · Richard Fennell

MSDeploy Parameters.xml can only replace web.config values is a value is already set

If you are using a parameters.xml file to set value with MSDeploy I have just found a gotcha. You need some value in the web.config file, not just an empty XML tag, else the replacement fails. So to explain… I had the following parameters.xml file, and use Release Management to replace the __TAG__ values at deployment time. <parameters> <parameter name="Domain" description="Please enter the name of the domain" defaultvalue="\_\_Domain\_\_" tags=""> <parameterentry kind="XmlFile" scope="\\web.config$" match="/configuration/applicationSettings/Web.Properties.Settings/setting\[@name='Domain'\]/value/text()" /> </parameter> <parameter name="AdminGroups" description="Please enter the name of the admin group" defaultvalue="\_\_AdminGroups\_\_" tags=""> <parameterentry kind="XmlFile" scope="\\web.config$" match="/configuration/applicationSettings/Web.Properties.Settings/setting\[@name='AdminGroups'\]/value/text()" /> </parameter> </parameters> If my web.config file (in the MSDeploy package to be transformed) was set to ...

May 1, 2015 · 1 min · Richard Fennell

A Visual Studio Extension to create MSDeploy parameters.xml files

When you using MSdeploy you should create a parameters.xml file that exposes your web.config settings at the time of installation. This enables good deployment habits, build the product one and then set system specific values using deployment tools. The problem is that this parameters.xml file is a pain to write, it is a series of XML blocks that contain XPath to find the entries to replace, typo’s are easy to introduce. ...

April 28, 2015 · 2 min · Richard Fennell