Dependency injection (with IOptions) in Console Apps in .NET Core
When you are used to building web applications, you kind of get hooked to the ease of Dependency Injection (DI) and the way settings can be specified in a JSON file and accessed through DI (IOptions
Cleaning up the default Hubot Slack installation
If you set up a new Hubot using the Slack Developer Kit for Hubot you’ll get an awesome bot, but with a lot of useless stuff in it. In this blog I’ll outline all the things that can be safely cleaned up. The scripts can run on both Powershell (Windows) and Bash (Linux/Mac).
Install nano with Entware on Synology NAS (DSM6+)
I just want the nano editor on my Synology NAS, but it is not present by default. There is VIM, but I don’t like that one. I’m using Entware to install nano as a package.
Setup Jenkins (Blue Ocean) using Docker on Synology NAS
Using Docker on a Synology NAS has become really easy. It’s a bit harder to install Jenkins in a container and let it use the Docker installation it’s part of. But we are living in exciting times: bringing a fully functioning CI/CD-pipeline to your home automation has never been easier!
.NET Core MVC: regex routing with named groups
One of the big advantages of the .Net regular expression implementation is named groups. Today I want to show how to leverage named regular expression groups to build a routing constraint that will map each group value to a named route value.
CI/CD for .Net Core app deployment to Raspberry Pi using Bitbucket
.Net now runs on your Raspberry Pi (awesome!). Tired of xcopying the result to your pi? In this article I’ll explore how to build a CI/CD Bitbucket pipeline that will build and deploy the app to your Raspberry Pi.
Hubot + ES6 + Promises
Lately we’ve been playing around with ChatOps at Wehkamp. We added a Hubot to our Slack channels to automate some operational jobs. It makes work more fun and way easier. As it is hosted in our own infrastructure, it can interact with our micro-services. In this article I explore how to use ES6 and a Promise to implement a call to a simple web-service.
Taming Unit Test logging in Docker pipeline for .NET
The main problem of a CI/CD pipeline – in my opinion – is logging. When it logs too little you don’t know what’s going on, when it logs to much you can’t see the trees to the forest. Having too much logging can seriously impact the effectiveness of your CI/CD pipeline. This script will improve Xunit unit test output.
Linq: round-robin ordering based on segments
Linq is a wonderful way to work with lists in C#. This article focuses on how you can create a round robin ordering for segments of your list. It will distribute items of each segment evenly over the list.
PowerShell snippet: check if software is installed
Some deployment scripts need to check if certain required software is installed on a Windows Machine. You could check if the file is present at a certain location, but there is a better way to check if software is installed: the uninstall database in the Windows Registry. PowerShell makes it really easy to query the registry!