Dev Ops 

Wonka Build

Wonka Build started out as an Asp.Net MVC project to manage in house build processes, but has grown to cover a host of tasks i perform on a regular basis. It utilses my DevOps library to run tasks in a deterministic fashion.

Blog post coming soon...

Motivation

  What does it solve?

On a daily basis i use Visual Studio Team Services to manage clients and my own automated builds from idea through to cloud deployment. This Asp.Net Core site automatically builds and deploys to a staging slot after a commit to the master branch in Github. I use AppVeyor to build, version and deploy my packages to NuGet and MyGet. These cloud based services are ideal for the majority of scenarios i encounter.

DevOps is a journey which should embrace On Prem, Hybrid, IAAS, PAAS, SAAS and some other well know acronyms. The reason for creating this project was to enhance all the above and include Offline. Often there are gaps in the process where an automated task is the perfect fit but the setup costs, whether time or other, cause it to be put off, at least until someone else creates an add-on for our favourite tooling.

Since creating this project, it has been used for local server security scans, chaining web requests, end to end solution build and packaging and a few others to form larger workflows. Sometimes a simple workflow which we can build ourselves is just what we are looking for. This can run alongside, or form part of, the end to end pipeline.

Interface

IDE.

Features

Syncronous Tasks using Async / Await. Ensures task is completed before continuing with the next.

Project

The project consists of the UI, which uses Signal R to communicate from the Task Runner to the web application and down to the client

Links

Where next

Next step is to get this working in the cloud and bolt it onto this site to demo. Why would i want to do that? Well, it's kinda fun!

There are a few challenges to overcome, namely the long running tasks, which will need to be split out a bit as currently relying on the good nature of a local, in memory, instance of IIS to honour the tasks taking a while. The other is the approach with Signal R. Will need to upgrade for .Net Core 2.x and see what breaks.