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.
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.
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!
Entering a javac (compile) and a java (execution) command seems tedious, so I wondered if those could be scripted into a good old .bat file.
I’ve created a file called yall.bat to help with the process. It has been a while since I’ve been playing around with batch files. I’ve seen my father do it… it still looks like a dark – and ancient – art to me.
MP3s are everywhere and back in 2014 I finally had a phone with enough storage to store a decent amount of them. I use MediaMonkey to add high resolution album covers and to rename the files in a predictable format: Artist – Album – # – Title. The only thing I was missing was a simple way of creating a M3U playlist: PowerShell to the rescue!
PowerShell is very similar to .NET, so it is no surprise that it is very popular with .NET developers. It is a language for writing scripts, so you might encounter some unexpected situations. I had this experience when I tried to parse some HTML with PowerShell: I could not get the replacement with regular expression groups to work! It turned out that my .NET knowledge was working against me…