#DevOps

Getting Badges to Update on GitHub Pages

Published at July 6, 2021 ·  11 min read

A while back I was looking for a solution that would give me a better picture when it came to deployments and releases then what I was getting from Jenkins. Jenkins may be the most popular CI build orchestrator in the world but lacks in the area of deployments. There are different needs when it comes to deployments and releases that are quite different then what you want from a CI tool....


Posting a Release on an Asana Calendar

Published at March 21, 2021 ·  9 min read

One thing that I like to do is to have a Calendar that shows all the versions that I have released to Production. I don’t have a whole lot of programs that I maintain but there is enough of a variety that I do switch around to the various bug fixes and new features and it would be really cool to see them all on a Single Calendar. This way I can be sure that features and fixes are getting out there and my stakeholders can also be aware of this information....


Testing a Docker Image as part of a Jenkins Pipeline

Published at January 15, 2021 ·  9 min read

One of the things that I have wanted to do is to test the structure of a docker image that I have just built. This should come right after the build stage so that if the structure is not what I expected, it would fail the build so that I don’t have a bunch of broken images sitting in my docker registry. I guess that this happens because I am using a docker image to build my project and the result of that output is copied into a clean docker image that will be my final image that can then be run as a docker container....


My Roadmap for 2021

Published at November 30, 2020 ·  6 min read

For my next couple of blog posts I thought I would try something a little bit different then what you might usually see on these pages. Today I am going to talk about 2021, the topics that interest me right now and what you could be expecting to see in the coming months. The year 2020 has certainly been an interesting one for many. This was a massive change for a number of businesses where they were forced to rethink the way they were doing business....


Maintaining the Golden Images

Published at October 31, 2020 ·  15 min read

Today I wanted to take you down an unusual path as I disclose some of the docker structure that I have configured recently in my environment. It has been my goal for a while now to run everything that I can in a docker container. What I mean by everything is that it is more than just my web sites and applications that I have been working as side projects for years but also includes some of the open source support tools that I use....


My Take on Software Versioning

Published at September 24, 2020 ·  7 min read

A couple of years ago I was thinking of building my own version generator that would work automatically based on the kind of work item I was working on. This would have been an api call that would be called from the build taking in the branch information checking if this branch has already been registered and return me the appropriate version number. I thought it was a pretty cool idea and would have worked for me because I work on a single Product Backlog Item (PBI or Story) or Bug at a time and it gets released as soon as it is ready....


The Path to Docker

Published at August 20, 2020 ·  6 min read

I have to say that I love Docker and working with Docker Images inside of containers. However, for the longest time I think I was looking at this from the wrong angel and I am sure that there are others out there doing the same thing. I think that this is because the explanation of this technology is usually done from an operational point of view and not from a developer....


Pipeline As Code

Published at July 23, 2020 ·  7 min read

There are new buzz words that popup all the time in the DevOps world. In the last few years one of those words that came up was Pipeline as Code. Everything is coming down to being able to turn it into code. As developers this has always been a natural step for us because we have always begun with code that then gets compiled and turned into working software. More than a decade ago there was a big push to try and re-train folks who worked on databases (DBA’s) to think in terms of database as code and keep that code in Source Control the one single source of truth....


Coming Full Circle

Published at June 29, 2020 ·  5 min read

I have recently changed jobs and the whole experience has made me take a step back and take a look at where I have come from. What roads did I have to cross to get here. My current position is working with various business units of a large company to adopt a DevOps culture. For the past nine years I have been working as a consultant helping clients to achieve a better DevOps experience around TFS and then Azure DevOps....


Publishing a PowerBI Report to an Azure DevOps Dashboard

Published at April 15, 2020 ·  4 min read

I have been working with Power-BI lately using data from my Azure DevOps Service. There are provided for us a number of pre build views that you can use in both the Cloud and the on premise version of Azure DevOps Server Update 1 and higher. But what really got me going was a set of templates that are available in the Marketplace called FlowViz. Basically when you install this extension if gives you two Power BI templates, one for Scum and one for Agile....


How I Work With Work Item Templates

Published at March 12, 2020 ·  5 min read

Azure DevOps (aka TFS, VSTS) has always had this ability to save the content of a work item as a template. In older versions of Team Foundation Server this was more obvious once you downloaded tools like the “TFS PowerTools” but then it was in your face; there were templates. Today in Azure DevOps they still exist, are just a little harder to find and you can have a different set of templates for each team....


Integration Testing DotNet Core

Published at January 17, 2020 ·  5 min read

It is pretty easy and straight forward to create a dotnet core application and run your unit tests during a build process. However, I also have some integration tests that I run in my Dev and QA environments where I actually hit my test database. This is not something that you would run in the build process as I do not have a database on the build machine and this is not something that would be worth the trouble to install one, especially if you are using a hosted build agent....


Easy Configuration Updates During Deployment

Published at October 24, 2019 ·  10 min read

In a proper CI/CD setup where we are building once and deploying that build to various environments as it travels down the pipeline towards production there is almost always a set of configuration files that are different for each environment. Over the years there have been a number of different techniques that have been used to manage this like never deploying the web.config file during a website deployment or storing the various configurations and copy them to their locations at the time of deployment....


Teams (SubTeams) and Area Paths

Published at March 22, 2019 ·  9 min read

Back in around the 2012 release of TFS (now known as Azure DevOps) we were introduced to the concept of Teams. This was a logical breakdown of a single project that typically could represent an organization or at least a division. I come from the camp of one collection and one project as this gives you the most value and best experience and even though the product has evolved to be even more flexible then it has I think this is still the best approach to take today....


Red Gate tools vs SQL Server Data Tools

Published at May 16, 2018 ·  18 min read

Recently I have been tasked with showing a development team how to version their SQL databases using the Red Gate tools. Normally I mentor and give guidance in these kinds of projects using the SQL Server Data Tools but because their databases were so large they found that the SSDT approach would just not work for them. They did find in their own experiments that the Red Gate tools did not impose these limitations and worked quite well dispite their database size....


When Should we Move the Work Items to DONE?

Published at October 9, 2017 ·  5 min read

This is a very common question that I get asked by different software development teams as I make my rounds to helping clients with their ALM practises. There is a common pattern associated with this question and I know this is the practise when I see a lot of columns on their Kanban boards or worse yet a lot of states that they are tracking on the work items....


Master Only in Production (an Improvement)

Published at July 5, 2017 ·  3 min read

Some time ago I wrote a blog post about My New 3 Rules for Releases and one of those rules was to only release into production code that was built from the master branch. In that solution I wrote a PowerShell script that would run first thing on the deployment to only go forward if the branch from the build came from master otherwise it would fail the deployment. This gave me a guarantee that builds that did not come from master would never get deployed into Production....


One Build Definition to Support Multiple Branches

Published at June 1, 2017 ·  4 min read

Before I moved to git, I had the same situation that many of you have had when it comes to managing build definitions. I had a build definition for each branch and for a single product this could have been several all doing the same thing. Yea, sure they were clones of each other and all I really needed to do was to change the path to the source in each case....


My New 3 Rules for Releases

Published at September 23, 2016 ·  9 min read

Everyone of my products have an automated build and a properly managed release pipeline. At the time I just thought business as usual as I was always on my way to having a well performing DevOps operation in my personal development efforts. Well something happened in the way that I started approaching things which you don’t really plan, things will just start to happen when you get into a situation where everything is automated or at least they should and that is what this post is about....


Some MSDeploy Tricks I have Learned

Published at August 3, 2016 ·  5 min read

In an earlier post I talked about Hexo the tool I use for this Blog. In that post I talked about how delighted I was with this process except for one thing that did bother me and that was the deployment to the Azure website. For this process I was using FTP to push the files from the public folder to Azure. Instead I was hoping for an MSDeploy solution but that is harder than it sounds especially when you are really not using a Visual Studio Project and MSBuild to create the application....


How I Use Chocolatey in my Releases

Published at June 10, 2016 ·  13 min read

I have been using Chocolatey for a while as an ultra easy way to install software. It has become the prefered way to install tools and utilities from the open source community. Recently I have started to explore this technology in more depth just to learn more about Chocolatey and found some really great uses for it that I did not expect to find. This post is about that adventure and how and what I use Chocolatey for....