Software Pipeline
This is my build process. Think of it like an assembly line in a factory, but it can go further and include distribution.
In most cases there processes will be completely opaque to the customer. In many cases very little will be formalisd
and there will be alot of manual, ad-hoc processes. Much risk exists in this area and highly automated processes
remove a lot of this.
I expose my process here as a document for myself and so anybody else can see exactly what I use and how.
This openness allows you to know exactly how my factory is organsised to make software for you. If I write software
especially for you, this allows me to explain which bits need to be customized for you and where and how feedback
durting the process will be delivered to you.
|
SVN/git |
Rider/ VS+R#
SQL Tools
|
Nunit
Javascript
Manual
|
Cruise Control .net |
Nunit
Javascript
Custom GUI Tester
|
Custom Deplyment Software
|
...It gets more complicated, of course. Because multiple versions of this exist for different branches and some of the outputs feed the inputs of
others. In some cases the details of the steps vary, but all of my code goes through the "sausage machine" like this. The important
part is the degree of automation. The more I can automate, the less prone my systems are to manual error and the more
repeatable my process. When viewing a snapshot of where I am at it may seem like a really rigid restrictive process
but the truth is the process is under constant improvement just like the software, "kaizen" style.