Pre/Post Deployment Scripts in Composite Projects & The Expanding Brain Meme

Hello! So, I’ve been working on a project recently where we’ve been using an Azure SQL Database that is stored in source control as an SSDT Project. We’ve also been making use of the excellent TSQLT to run unit tests as part of the build. And typically I set up a Unit Test database to reference the main database so that the tests can be deployed separately from the main code. [Read More]

Making Use of Demands and Capabilties on VSTS Build Agents

Hello! I have recently been creating a pipeline in VSTS that will check if certain software/PowerShell Modules are installed on the box, and if it isn’t then install it. It’s a sort of a DSC/Chef/Puppet process done via VSTS so that I don’t have to configure the aforementioned software. But I needed a way to target a specific build agent to run this build on; specifying an agent pool is no good as it will deploy on any in that pool. [Read More]

PoshSSDTBuildDeploy Updated - Now With Install .NET!

Hello! I’m currently working on a project that requires building and deploying SSDT-based projects. So it’s been a great opportunity of making use of PoshSSDTBuildDeploy and work through any issues. And there have been a few minor updates to the module over the past fortnight which I’ll go through now! As I type the latest version is 2.196.0. Return Path of MSBuildDataTools - Just so much easier to have location returned so that when you execute Invoke-MSBuildSSDT and Publish-DatabaseDeployment you can just pass the outputted variable in. [Read More]

PowerShell Snippet 13 - Skip Logging Into Azure Everytime With This One Simple Trick

Hello! I have been working an awful lot with ARM Templates and publishing resources using PowerShell. As part ofhte process we’re using a Service Endpoint to publish resoruces to Azure. So the login and subscription context are set by the endpoint itself. However, when running the scripts locally, it is necessary to login first. so you have two choices - login before running the script, which isn’t always possible, or include Login-AzureRmAccount in every script, and then obviously forget to remove it prior to checking in and wondering why releases takes forever… [Read More]

How Not To Create Your Service Principals for VSTS/ARM Connections

Hello! I’ve recently started a new project, and we’re going to use VSTS for the build and release pipeline. This includes deploying infrastructure from ARM templates. This is going to provide its own set of challenges, in that the VSTS Team is new and there is no authentication between VSTS and the Subscription the objects are deploying to. So it really is a “green field” project. But this is a good thing, as we get to deploy as much as we can from source control and limit the interaction with the Azure Portal. [Read More]

Musings March 2017 - Project Updates

Hello! I’m due to sit an exam this week, the excitingly titled “Designing and Implementing Cloud Data Platform Solutions”. Revision is hard going, as my ability to concentrate on reading pretty much anything seems to be less an less potent as I get older. And so by way of a distraction/procrastination, I thought I’d write a brief summary of some of the changes I’ve made to projects in GitHub this month. [Read More]

Syncing SSAS Databases Confusion

Hello! I’ve been playing around with a PowerShell module called RunSyncRun that I’ve never quite got around to completing. What it aims to do is to execute the sync function between SSAS Databases. Part of the problem is that it takes a while to get a test environment set up, but I finally got the WideWorldImporters sample project up and running as a good place to start. The crux of the whole module is to run this relatively small piece of xmla found in StartDatabaseSync - [Read More]

The Mystery Of The Failing Azure Cmdlet

Hello! I’ve been helping out a team with setting up a deployment pipeline that uses Azure Data Lake Store, and so the obvious way to do this is to make use of the AzureRM.DataLakeStore PowerShell module. For those of you not ITK, Microsoft provide a set of PowerShell cmdlets that make use of the Azure Resource Manager model for managing Azure resources. These can be downloaded via the PowerShell Gallery. And because there are a fairly large amount of cmdlets, these are split into subsets, such as the aforementioned AzureRM. [Read More]

On The Move

This is the first post in earnest as I begin the arduous task of migrating away from BlueHost/WordPress and their paid services to a free static web site.

Write-Host "I have no idea what I am doing."