Postmortem published by the Microsoft VSTS Team on last week's Azure outage

The Azure DevOps (VSTS) team have published the promised postmortem on the outage on the 4th of September. It gives good detail on what actually happened to the South Central Azure Datacenter and how it effected VSTS (as it was then called). More interestingly it provides a discussion of mitigations they plan to put in place to stop a single datacentre failure having such a serious effect in the future. Great openness as always from the team ...

September 11, 2018 · 1 min · Richard Fennell

VSTS becomes Azure DevOps

Today Microsoft made a big announcement, VSTS is now Azure DevOps. The big change is they have split VSTS into 5 services you can use together or independently, including Azure Pipelines for CI/CD - free for open source and available in the GitHub CI marketplace. An important thing to note is that IT IS NOT JUST FOR AZURE. Don’t be afraid of the name. There a wide range of connectors to other cloud providers such as AWS and Google Cloud, as will as many other DevOps tools Learn more at have a look at the official post ...

September 10, 2018 · 1 min · Richard Fennell

Videos do not play in VSTS WIKI via relative links - workaround

The Problem The documentation for the VSTS WIKI suggests you can embed a video in a VSTS WIKI using the markdown/HTML``` Problem is that this does not seem to work, the MP4 just does not appear, you get an empty video player. However, if you swap to a full URL it does work e.g. ### The Workaround The workaround is to either place the MP4 file in some URL accessible location e.g. some Azure web space (not really addressing the problem), or more usefully use the [VSTS API to get the file](https://docs.microsoft.com/en-us/rest/api/vsts/git/items/get?view=vsts-rest-4.1) out the repo that backs the WIKI. The format of the HTML tag becomes``` <video src="https://vstsinstance.visualstudio.com/MyTeamProject/\_apis/git/repositories/MyTeamProject.wiki/Items?path=\_media%2Fvstswiki\_high.mp4 width=400" controls> </video> ```This will get the current version of the file on default branch, you can add extra parameters to to specify versions and branches if required as per the [API documentation](https://docs.microsoft.com/en-us/rest/api/vsts/git/?view=vsts-rest-4.1). So not a perfect solution as you have to think about branches and versions, they are not handled automatically, but at least it does work

August 31, 2018 · 1 min · Richard Fennell

Registering an agent with VSTS and getting the message &quot;Agent pool not found&quot;

When you want to register a build agent with VSTS, you use the VSTS instance’s URL and a user’s Personal Access Token (PAT). Whilst doing this today I connected to the VSTS instance OK but got the error “Agent pool not found”.when I was asked to pick the agent pool to add the new agent to. As the user who’s PAT I was using was a Build Administrator I was a bit confused, but then I remembered to check their user access level. It was set to Stakeholder, once this was changed to Basic I was able to register the agent without use. ...

August 16, 2018 · 1 min · Richard Fennell

Experiences migrating TFS XML Team Project Templates to Inherited Team Project Templates

You have always been able to customise your Team Projects in TFS, by editing a host of XML files, but it was not a pleasant experience. In VSTS a far more pleasant to use web based inherited customisation model was added, much to, I think, most administrators relief. If you used the TFS DB migration service you ended up with a VSTS instance full of the the XML style team projects, and you were stuck there, with no way to change these to the new inherited mode, that is until now as Microsoft have released to preview a conversion tool. ...

August 2, 2018 · 3 min · Richard Fennell

A workaround for the error &lsquo;TF14061: The workspace ws_1_18;Project Collection Build Service does not exist&rsquo; when mapping a TFVC workspace

Whilst writing some training material for VSTS I hit a problem creating a TFVC workspace. I was using VS2017, linking a TFVC Repo to a local folder. I was connecting to the VSTS instance using an MSA. In Team Explorer, when I came to do a ‘Map & Get’ to map the source locations I got a ‘TF14061: The workspace ws_1_18;Project Collection Build Service does not exist’ error Strange error, which I could see no obvious reason for. Turns out the work around was just to press the ‘Advanced’ link/button and accept the defaults ...

May 30, 2018 · 1 min · Richard Fennell

Making sure when you use VSTS build numbers to version Android Packages they can be uploaded to the Google Play Store

Background I have a VSTS build extension that can apply a VSTS generated build number to Android APK packages. This takes a VSTS build number and generates, and applies, the Version Name (a string) and Version Code (an integer) to the APK file manifest. The default parameters mean that the behaviour of this task is to assume (using a regular expression) the VSTS build number has at least three fields major.minor.patch e.g. 1.2.3, and uses the 1.2 as the Version Name and the 3 as the Version Code. ...

May 12, 2018 · 3 min · Richard Fennell

Major new release of my VSTS Cross Platform Extension to build Release Notes

Today I have released a major new release, V2, of my VSTS Cross Platform Extension to build release notes. This new version is all down to the efforts of Greg Pakes who has completely re-written the task to use newer VSTS APIs. A minor issue is that this re-write has introduced a couple of breaking changes, as detailed below and on the project wiki oAuth script access has to be enabled on the agent running the task ...

April 27, 2018 · 1 min · Richard Fennell

Backing up your TFVC and Git Source from VSTS

The Issue Azure is a highly resilient service, and VSTS has excellent SLAs. However, a question that is often asked is ‘How do I backup my VSTS instance?’. The simple answer is you don’t. Microsoft handle keeping the instance up, patched and serviceable. Hence, there is no built in means for you to get a local copy of all your source code, work items or CI/CD definitions. Though there have been requests for such a service. This can be an issue for some organisations, particularly for source control, where there can be a need to have a way to keep a private copy of source code for escrow, DR or similar purposes. ...

April 20, 2018 · 3 min · Richard Fennell

Opps, I made that test VSTS extension public by mistake, what do I do now?

I recently, whilst changing a CI/CD release pipeline, updated what was previously a private version of a VSTS extension in the VSTS Marketplace with a version of the VSIX package set to be public. Note, in my CI/CD process I have a private and public version of each extension (set of tasks), the former is used for functional testing within the CD process, the latter is the one everyone can see. So, this meant I had two public versions of the same extension, confusing. ...

April 14, 2018 · 2 min · Richard Fennell