How I moved my demo SonarQube server to Azure Container Instance
Yesterday I realised that the last time I connected via RDP into a server was back in May. That talks volumes about how much cloud-native...
Beware of implicit triggers in Azure Pipelines!
I was talking with Mohamed about this earlier today - it’s something that can make you think you are off the track while in reality...
No message found for this issue in Azure DevOps
I am writing this post because I’ve been asked four times within two weeks, so it acts as a public service announcement :-)
An API layer of PowerShell-based Function Apps - a few tips
Something that’s really fascinating for me is how serverless brings new life to existing pieces of technology - in this case, Azure Function Apps. PowerShell-based...
DevOps in a Landing Zone, how to run commands across it with Azure Resource Graph
I am currently working with a client that’s got a very well made Landing Zone (we are talking tens of subscriptions with nested Management Groups),...
Importing pipelines when the root pipeline has not been imported
I ran into this interesting bug the other day - let’s say this is our repository:
Bulk import YAML pipelines in Azure DevOps
If you import or fork a repository with many YAML pipelines you will soon face this issue…
Did you know about the Azure DevOps App?
The title is a bit cheeky… but I just realised that you can pick-up a website in Edge and make it an app by clicking...
What's new in Microsoft Security Code Analysis?
I blogged about the toolkit in the past, Microsoft Security Code Analysis is something that you should look at if you want to integrate a...
Getting started with project management in GitHub Projects
If you want to approach GitHub Issues for your projects, sooner or later you are going to need a form of project management. It can...
Running YAML Azure Pipelines from a restricted GitHub Service Connection
Last week a colleague (hi Kapil!) ran into an interesting scenario:
Working with Git repositories in Azure Pipelines
I keep talking about Azure Pipelines a lot these days and there are so many features in the Pipelines as Code implementation you just miss...
Azure DevOps as the FinOps enabler
I recently spent a lot of time working on this topic, which in a nutshell can be summarised as:
CI/CD YAML Pipelines finally GA!
YAML pipelines for CI/CD are finally GA. Hooray!
Synchronising GitHub Issues and Azure DevOps Work Items
Another integration between Azure DevOps and GitHub is in work planning and tracking, or project management if you like.
Review - Team Topologies
I bought this book a few weeks ago after a suggestion by fellow MVP Wouter de Kort:
What does "automate your workflow" means?
GitHub’s marketing headline is very clear IMHO:
CI on GitHub Actions, CD on Azure Pipelines
If you want to start approaching GitHub Actions, you can easily do that targeting Continuous Integration.
A tour of GitHub Enterprise Cloud
Continuing my exploration of GitHub from Azure DevOps, the next topic which caught my attention is the equivalence between Azure DevOps and GitHub at service...
Looking at the CD side of CI/CD with GitHub Actions - also how to deploy ARM templates with it!
It’s been a while I wanted to spend proper time with GitHub Actions and compare it with Azure Pipelines. Today thanks to the storm this...
A closer look at the pipeline authorisation model
It all starts from this error…
A primer on using VMs with multi-stage pipelines
One of the most demanded features for multi-stage pipelines in Azure DevOps is the possibility of natively targeting VMs. As of today you can easily...
Create a build matrix with Azure Pipelines
I was discussing this with a colleague a couple of days ago (if you are reading this, hi Keith!): can we easily build a build...
Review - The Unicorn Project
Here it is, the most awaited book this year for whoever is even tangentially involved with DevOps…
Why isn't my agent updating?
This happens fairly often in restricted configurations where there are proxies, firewalls, etc… Let’s say you want to update your Azure Pipelines agent from the...
You've got no excuses in managing secrets with Azure DevOps and KeyVault!
As part of a solid engineering practices one of the first things I flag up during an assessment is how you handle secrets - their...
Enforce governance on Azure DevOps Organisations
This is a crucial but often overlooked detail when it comes to corporate adoption of Azure DevOps - how can I prevent users from creating...
Did you know? Repo branching policies in Azure DevOps
It’s one of these things that go unnoticed until you actually stumble upon them: did you know that Azure DevOps has a number of branch...
When to integrate SCA?
As much as I am a fan of Microsoft Secure Code Analysis I would not go and blindly integrate the whole suite without a degree...
Getting started with Secure Code Analysis
I recently got in touch with the Microsoft Secure Code Analysis team as part of my deeper research on DevSecOps practices, and I was astounded...
Review - DevOps for the Modern Enterprise
It’s been a while since my last book review - unfortunately I did not read any work-related book for the last few months, and that...
When to scan what?
Picking up from my last post, a question I regularly get after showing these tools is: Should I apply all of these (tools and practices)...
Integrate Fortify in Azure DevOps, how easy!
For my latest session (at WinOps 2019, brilliant conference as usual) I dabbled with some addition to my session on Code Quality and DevSecOps. One...
Let's talk about Build retention, shall we?
Build Retention Policies have always been a contentious thing to talk about: at some point, you need to let go of your old builds. This...
Project-wide flaky test detection
Azure DevOps is a complex platform and today I found out something quite interesting: system-wide flaky test detection. A really neat feature indeed - you...
Hey, my Service Principal expired!
If you used Azure DevOps long enough, you will eventually run into a situation like this - your Service Principal will expire and throw this...
Challenges of creating an internal sharing model with Azure DevOps
Azure DevOps is a brilliant platform with a flexibility second to none, so it comes fairly natural to try and push its boundaries more and...
What is the difference between Usage and Auditing in Azure DevOps?
The Azure DevOps team released a new Auditing feature a couple of days ago, and then a question immediately sprung up: what is the difference...
Why are you not using conditions?
All technology tools and platforms have some feature which, for one reason or another, are less known and used compared to others. More often than...
How to implement rollback strategies in Azure Pipelines
Sometimes simple things seem really hard - rollback strategies seem to end up in this category! Let’s make things simple: each and every release pipeline...
Ten years of MVP Award
Today is an important day. Today is Renewal Day for a sizeable amount of the Microsoft MVP population, and I was renewed as well for...
Remember the power of an Agent
This post stems from a discussion I had a few days ago: sometimes we just forget how powerful having an Agent on a target system...
Postmortem of the Global DevOps Bootcamp 2019
This year I hosted the Global DevOps Bootcamp 2019 for London, and the theme of the event was You Build It, You Run It! -...
Review - Azure DevOps Server 2019 Cookbook
More than ten years ago I was at the beginning of my career, and I bought a book - “Team Foundation Server 2008 in action”....
How to move your Release Definitions to YAML today!
You might have got it - I am very, very keen on YAML Build and Release Pipelines, because they unleash the power of a full-fledged...
How YAML pipelines change the whole CI/CD story
At Build the Azure DevOps team announced YAML pipelines for the deployment side of the story. I am very excited, because I believe this changes...
Solving the looping problem in Azure DevOps Pipelines
What should you do if you want to have a Pipelines job that loops based on dynamic inputs? Working around this problem has always been...
Make your life easier with Group Rules in Azure DevOps Services
This is something that comes in very handy - licence management isn't the simplest thing to implement and police. There is always someone who is...
Do you want to move to YAML pipelines? Here is how I would do it.
YAML pipelines can be daunty, no question about this - especially if you come from a background where you come from a nice UI like...
Use Azure DevOps Release Gates to check for website availability and automate stage flows
Modern deployment patterns rely on automation, everywhere. A common request in this space is to automatically verify if a web resource is up and running...
Did you know? Changing default and comparison branch in Git from Azure DevOps
This was one of those things you never realise until you actually look at it:Have you ever thought that many people just leave that at...
A quick reflection on git reset
This is fairly quick, but I haven't realised how important it is up to now - a friend made up such a mess of his...
Using the Basic Process Template in Azure DevOps to make support management easier
I love the introduction of a Basic Process Template in Azure DevOps, and I will tell you why – it provides a very simple structure...
The continuous quest for automation in DevOps, and the Azure ML Studio example
When you think about it, most of the tasks you carry on in a DevOps environment revolve around automation.Infrastructure as Code? It’s automation, right? Cool....
How to reorder your stages in Azure Pipelines
It might seem funny, it might seem stupid... but this might happen to someone else, so it can be handy for the future. How do...
My road to an open source project: Azure Traffic Manager extension for Azure DevOps
As I mentioned in my last few posts, I have been working in my spare time to convert the existing scripts I had for Azure...
The dev.azure.com URL - can I move away from the old visualstudio.com URL?
Plenty of reasons behind this, but you might want to move away from your <organisation>.visualstudio.com URL and onto the new dev.azure.com/<organisation> URL as a matter...
The importance of the .gitignore file
A few days ago I spent a some time reviewing some old repositories of mine (mostly demos) and I realised how cluttered they were.You know...
Recycle your PowerShell scripts in a custom Azure DevOps task
I am a huge PowerShell fan, and pretty much anybody who knows me is aware of that.Over time I developed my set of scripts for...
How to authenticate with the Azure subscription you select in a custom PowerShell Azure DevOps task
I will cover more about my custom PowerShell Azure DevOps task, but I wanted to share this quick tip as I struggled as much as...