Running Test Suites within a network Isolated Lab Management environment when using TFS vNext build and release tooling

Updated 27 Sep 2016: Added solutions to known issues Background As I have posted many times we make use of TFS Lab Management to provide network isolated dev/test environments. Going forward I see us moving to Azure Dev Labs and/or Azure Stack with ARM templates, but that isn’t going to help me today, especially when I have already made the investment in setting up a Lab Management environments and they are ready to use. ...

September 27, 2016 · 6 min · Richard Fennell

If I add a custom field to a VSTS work item type what is it’s name?

The process customisation options in VSTS are now fairly extensive. You can add fields, states and custom items, making VSTS is ‘very possible’ option for many more people. As well as the obvious uses of this customisation such as storing more data or matching your required process, customisation can also aid in migrating work items into VSTS from other VSTS instances, or on-premises TFS. Whether using TFS Integration (now with no support – beware) or Martin Hinshelwood’s vsts-data-bulk-editor (an active open source solution so probably a much better choice for most people) as mentioned in my past post you need to add a custom field on the target VSTS server to contain the original work item ID. Commonly called ReflectedWorkItemId ...

September 23, 2016 · 2 min · Richard Fennell

Typemock have released official VSTS build extension

Typemock have just released an official VSTS build extension to run Typemock Isolator based tests. Given there is now an official extension I have decided to deprecate mine, it is still available in the Marketplace but I would recommend using the official one The new Typemock extension includes two tasks SmartRunner Task The SmartRunner is a unit test runner, that can run nunit and mstest based tests. It handles the deployment of Typemock Isolator. SmartRunner can run on both Shared and On Premises Agents ...

September 12, 2016 · 1 min · Richard Fennell

Fix for my Docker image create dates being 8 hours in the past

I have been having a look at Docker for Windows recently. I have been experiencing a problem that when I create a new image the created date/time (as shown with docker images) is 8 hours in the past. Turns out the problem seems to be due to putting my Windows 10 laptop into sleep mode. So the process to see the problem is Create a new Docker image – the create date is correct, the current time Sleep the PC Wake up the PC Check the create date, it is now 8 hours off in the past Now the create date is not an issue in itself, but the fact that the time within the Docker images is also off by 8 hours can be, especially when trying to connect to cloud based services. I needed to sort it out ...

August 24, 2016 · 1 min · Richard Fennell

I am speaking at Microsoft UK TechDays Online event on Azure DevTest Labs

The registration link for Microsoft UK TechDays Online is now live. This is a 5 day event live broadcast from the Microsoft Campus in Reading. You will be able to view the sessions live at https://channel9.msdn.com/ The themes for each day are: Monday, 12 September: Explore the world of Data Platform and BOTs Tuesday, 13 September: DevOps in practice Wednesday, 14 September: A day at the Office! Thursday, 15 September: The inside track on Azure and UK Datacenter Friday, 16 September: Find out more about Artificial Intelligence I am doing a session on the Thursday on Azure DevTest Labs. ...

August 24, 2016 · 1 min · Richard Fennell

Why have I got a ‘.NETCore50’ and a ‘netcore50’ folder in my nuget package?

I recently posted on how we were versioning our Nuget packages as part of a release pipeline. In test we noticed that the packages being produced by this process has an extra folder inside them. We expected there to be a netcore50 folder, but not a .NETCore50 folder. Strangely if we build the package locally we only saw the expect netcore50 folder. The addition of this folder did not appear to be causing any problem, but I did want to find out why it had appeared and remove it as it was not needed. ...

August 23, 2016 · 1 min · Richard Fennell

Experiences versioning related sets of NuGet packages within a VSTS build

Background We are currently packaging up a set of UX libraries as NuGet packages to go on our internal NuGet server. The assemblies that make up the core of this framework are all in a single Visual Studio solution, however it makes sense to distribute them as a set of NuGet packages as you might not need all the parts in a given project. Hence we have a package structure as follows… ...

August 16, 2016 · 5 min · Richard Fennell

Tidy up those VSTS release pipelines with meta-tasks

Do you have repeating blocks in your VSTS release pipelines? I certainly do. A common one is to run a set of functional test, so I need to repeatedly … Deploy some test files to a VM Deploy a test agent to the VM – IMPORTANT I had not realised you can only run one test run against this deployed agent. You need to redeploy it for the next run Run my tests … and repeat for next test type/configuration/test plan/DLL etc. In the past this lead to a lot of repeat tasks in my release pipeline, all very messy. ...

August 12, 2016 · 2 min · Richard Fennell

New version of my generate release notes task–now with authentication options

I have just released 1.4.7 of the release notes VSTS extension. This provides a new advanced options that allows you to switch the authentication model. The default remains the same i.e. use a personal access token provided by the server, but you have the option to enable use of the ‘defaultcredentials’ (via the advanced properties). If this is done the account the build agent is running as is used. Hopefully this should fix the 401 issues some people have been seeing when using the task with on-prem TFS. ...

August 11, 2016 · 1 min · Richard Fennell

Windows 10 Anniversary (Build 1607) messed up my virtual NAT Switch – a fix

I use a virtual NAT Switch to allow my VMs to talk to the outside world. The way I do this is documented in this post, based on the work of Thomas Maurer. The upgrade to Windows 10 Anniversary messed this up, just seemed to loose the virtual network completely, VMs failed to start with invalid configurations and would not even start. I had to recreate my NATSwitch using Thomas’s revised instructions, but I did have an problem. The final ‘New-NetNat’ command failed with a ‘The parameter is incorrect.’ error. I think the issue was that there was debris left from the old setup (seems Microsoft removed the NatSwitch interface type). I could find no way to remove the old NATSwitch as it did not appear in the list in PowerShell and there is no UI remove option. So I just ended up disabling it via the UI and this seemed to do the trick ...

August 10, 2016 · 1 min · Richard Fennell