Jump-starting Slack bot projects: bot-zero
To give teams a jump start we’ve created the bot-zero open source project. It solves some setup and development problems. In this blog I’ll show how to get up and running in minutes and I’ll explain some of the choices we’ve made.
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).
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.