Just released a new Azure Pipelines Extension to update Git based WIKIs

I have just release a new Azure DevOps Pipelines extension to update a page in a Git based WIKI. It has been tested again Azure DevOps WIKI – running as the build agent (so the same Team Project) Azure DevOps WIKI – using provided credentials (so any Team Project) GitHub – using provided credentials It takes a string (markdown) input and writes it to a new page, or updates it if it already exists....

November 20, 2018 · 1 min · Richard Fennell

Azure DevOps Services & Server Alerts DSL - an alternative to TFS Aggregator?

Whilst listening to a recent Radio TFS it was mentioned that TFS Aggregator uses the C# SOAP based Azure DevOps APIs; hence needed a major re-write as these APIs are being deprecated. Did you know that there was a REST API alternative to TFS Aggregator? My Azure DevOps Services & Server Alerts DSL is out there, and has been for a while, but I don’t think used by many people. It aims to do the same as TFS Aggregator, but is based around Python scripting....

October 30, 2018 · 2 min · Richard Fennell

YAML documentation for my Azure Pipeline Tasks (and how I generated it)

There is a general move in Azure DevOps Pipelines to using YAML, as opposed to the designer, to define your pipelines. This is particularly enforced when using them via the new GitHub Marketplace Azure Pipelines method where YAML appears to be the only option. This has shown up a hole in my Pipeline Tasks documentation, I had nothing on YAML! So I have added a YAML usage page for each set of tasks in each of my extensions e....

October 25, 2018 · 1 min · Richard Fennell

Using Paths in PR Triggers on an Azure DevOps Pipelines Builds

When I started creating OSS extensions for Azure DevOps Pipelines (starting on TFSPreview, then VSO, then VSTS and now named Azure DevOps) I made the mistake of putting all my extensions in a single GitHub repo. I thought this would make life easier, I was wrong, it should have been a repo per extension. I have considered splitting the GitHub repo, but as a number of people have forked it, over 100 at the last count, I did not want to start a chain of chaos for loads of people....

October 2, 2018 · 2 min · Richard Fennell

Still a few spaces left at the Yorkshire Global DevOps BootCamp Venue hosted at Black Marble

There are still a few spaces left at the Yorkshire Global DevOps BootCamp Venue hosted at Black Marble Come and learn about all things cool in DevOps, including Video keynote by Microsoft Local keynote: Breaking down the Monolith Hackathon/HandsOn DevOps challenges. The hands-on part with be based on a common application where we try to solve as many challenges as possible, including ideas like How to containerize an existing application How to add telemetry (app insights) to the application and gather hypothesis information How to use telemetry to monitor availability How to use feature toggles to move application into production without disrupting end users How to use release gates How to make DB schema changes Use Blue Green Deployments And there is free lunch too!...

May 25, 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....

May 12, 2018 · 3 min · Richard Fennell

Building private VSTS build agents using the Microsoft Packer based agent image creation model

Background Having automated builds is essential to any good development process. Irrespective of the build engine in use, VSTS, Jenkins etc. you need to have a means to create the VMs that are running the builds. You can of course do this by hand, but in many ways you are just extending the old ‘it works on my PC – the developer can build it only on their own PC’ problem i....

February 27, 2018 · 5 min · Richard Fennell

Yorkshire Venue for the Global DevOps BootCamp 2018

I am really pleased that we at Black Marble are again the first UK location announcing that we are hosting an event on June 16th as part of the 2018 Global DevOps BootCamp. As the event’s site says… “The Global DevOps Bootcamp takes place once a year on venues all over the world. The more people joining in, the better it gets! The Global DevOps Bootcamp is a free one-day event hosted by local passionate DevOps communities around the globe and centrally organized by Xpirit & Solidify and sponsored by Microsoft....

February 22, 2018 · 1 min · Richard Fennell

New release of my Generate Parameters.xml tools to add support for app.config files

I recently released an updated version of my Generate Parameters.XML tool for Visual Studio. This release adds support for generating parameters.xml files from app.config files as well as web.config files Why you might ask why add support for app.config files when the parameters.xml model is only part of WebDeploy? Well, at Black Marble we like the model of updating a single file using a tokenised set of parameters from within our DevOps CI/CD pipelines....

February 13, 2018 · 2 min · Richard Fennell

Versioning your ARM templates within a VSTS CI/CD pipeline with Semantic Versioning

I wrote a post recently Versioning your ARM templates within a VSTS CI/CD pipeline. I realised since writing it that it does not address the issue of if you wish to version your ARM Templates using Semantic Versioning. My JSON versioning task I used did not support the option of not extracting a numeric version number e.g. 1.2.3.4 from a VSTS build number. To address this limitation I have modified my Version JSON file task to address....

February 3, 2018 · 2 min · Richard Fennell