The blog of Richard Fennell

This is the blog of Richard Fennell, I am a Microsoft MVP for Developer Technologies and the CTO of Black Marble Ltd a Microsoft Gold Partner based in the North of England. Black Marble specialises in Integration projects using the Azure/Microsoft stack. I blog mostly on the subject of DevOps using Azure DevOps and GitHub.
Richard Fennell (headshot)

Using Azure Service Connection names that are stored in variables group in Azure DevOps Pipeline

Background If you are using staged deployment in Azure DevOps, you will probably have multiple Azure Service Connections. So, it makes sense that you might want to use a Service Connection name that is stored in a variable group as a parameter to a templated YAML pipeline. # the build pipeline stages: - stage: UAT jobs: - deployment: ARM_Provisioning timeoutInMinutes: 0 environment: 'Staging' variables: - group: UAT pool: vmImage: 'windows-latest' strategy: runOnce: deploy: steps: - template: YAMLTemplates\ProvisionUsingARM....

October 21, 2024 · 4 min · Richard Fennell

Editing multiple files in the Azure DevOps UI and committing them in a single commit

One of the most useful, and it seems relatively unknown, features in the GitHub web UI is the ability to edit multiple files in the UI and commit them in a single commit. This is done by loading VS Code in the browser when in the code view by pressing . (the full stop) The reason I find this so useful is that it allows me to make a series of small related changes to a project without having to clone the repository or using a CodeSpace, very useful when editing the related YAML files of reusable workflows in GitHub Actions....

October 18, 2024 · 1 min · Richard Fennell

Generating Visual Studio SQL Database Projects from the command line

This is is one of those posts I write so I remember how to do something in the future. Background I recently had a need to generate many Visual Studio SQL Database Projects from existing databases. Being a good ’lazy developer’ I wanted to do this from the command line so I could automate the process, but it took me far to long to work out how The Manual Way If you only have one database to import you can do this manually by using the Import option in Visual Studio for an individual SQL Database Project....

September 27, 2024 · 2 min · Richard Fennell

Showing Bicep Linting Issues as Errors and Warnings in Azure DevOps Pipelines

Introduction Previously Rik Hepworth has posted on ‘Importing bicep lint output as test results in Azure DevOps pipelines’. In his post he showed how you could move from using the ARM-TTK to validate ARM templates to using the built inBicep Linter. Rik’s solution involved taking the Bicep Lint output and converting it via the .SARIF format to JUnit so that it could be published to an Azure DevOps pipeline run as a set of test results....

September 3, 2024 · 2 min · Richard Fennell

How to run your own maintenance job on Azure DevOps pipelines (Revisited now using Workload Identity federation)

Introduction Last year I posted on how to create your own Azure DevOps maintenance jobs. This solution has been working well for me, until the Azure DevOps Service connection’s Entra ID Service Principle secret expired. So, I thought it well worth revisiting the creation of this maintenance job but this time using Workload Identity federation to authenticate, and hence never again have to worry about the secret expiring. Updated Setup Process Note: This is a modification to the creation of the service connection, but the core the maintenance job setup remains the same as in my original post...

August 29, 2024 · 3 min · Richard Fennell