Improving Pull Request flow with PR templates and PR Completion Stats in Azure DevOps

Code reviews and pull requests are a totally normal practice these days if you’re working together with other developers. Even if you’re working solo you probably don’t want to commit to main branch directly if you have CI/CD in place. That’s when adding changes through pull requests and code reviews come into picture. For many organizations and development teams this can be a tough process for many reasons where urgency, time limitations, overload with other tasks play a huge role. Nevertheless we still want to ensure that the established policies are being followed in order to ensure that every single line of code we commit is of highest possible quality. And there are ways we can enforce policies of course. One of the ways are automated checks - this is a really important one since we want to avoid human error or a multi-tasking PR reviewer to miss out on a critical bug in the changeset. But it’s also about humans, about collaboration and making the code review process easier both for the one committing changes and the one reviewing the changes. And for that there are quite a few tools available! ...

May 6, 2022 · 4 min · Kristina Devochko

Continuous Delivery to AKS with Azure DevOps Environments - Part 1

In the first part of this blog series I would like to talk about Azure DevOps Environments, benefits of using it for deployment of applications to AKS or any other Kubernetes distribution (or even a VM), and provide a few tips and tricks for how ADO environments and resources can be created. In Part 2 of this blog post series we'll deploy a test application to AKS with Azure DevOps Environments and take a look at how we can migrate Kubernetes resources between Azure DevOps Environments with a sprinkle of automation. Check out Part 2 here: Continuous Delivery to AKS With Azure DevOps Environments - Part 2 ...

April 30, 2022 · 8 min · Kristina Devochko

Automate .NET target framework update with PowerShell

With all the active development in the .NET world many of us have faced a situation where we need to update .NET target framework more frequently in order to be able to keep up, but at the same time to be able to utilize all the goodies .NET has to offer. It’s not a big deal when you have 1, 2, 10 projects but when you have 300+ projects that need to be updated? Then it can become a pretty boring and time-consuming process. And what’s boring must always be automated, right? 😉 ...

March 28, 2022 · 3 min · Kristina Devochko

Improving .NET code quality with NDepend in Visual Studio and Azure DevOps

What is NDepend? When developing software it’s important to focus on fullfilling customer requirements, providing best possible user experience, performance, security, availability and many other -ilities to ensure success of the software you’re building, as well as keep your current users loyal and happy about your product. It’s equally important to keep the code base maintainable and clean, minimize complexity, dependencies and technical debt, ensure that the new code follows the same quality and design standards as the rest of the code base. This is something that’s extremely difficult to achieve manually, especially when you have a bigger application with tens of developers working on it. Fortunately for us there are many tools in the industry that may help us with this. Recently I got an opportunity to explore and experiment with a tool called NDepend and I would like to share some of the possibilities this tool provides in this blog post. ...

March 17, 2022 · 22 min · Kristina D.

Kris's Quick Cup of K8s #1

Starting a totally new Tech Tips subsection feels great - especially when it’s going to be purely dedicated to Kubernetes utilizing Azure Kubernetes Service (AKS) for demo purposes! :-) In this first edition I would like to demonstrate 4 helpful commands that can make your life easier when working with Kubernetes. AKS will be my Kubernetes distribution of choice. #1 - Live streaming of Pod logs Sometimes it can be really useful to monitor application’s logs, for instance when there are errors happening during application’s start-up or while it’s up and running. If you use kubectl logs <pod_name> -n <namespace> you will only get what’s been logged until the execution of command. In order to stream logs and follow them in real-time you will need to use -f flag (“f” for “follow”) with kubectl logs command, i.e. kubectl logs <pod_name> -n <namespace> -f. ...

March 4, 2022 · 3 min · Kristina Devochko