Imports are now more fully declarative, .vespene files can now create/modify pipelines


So one of the biggest comments from the initial release was that people liked .vespene files, but wanted them to be able to create pipelines that didn't exist.

Previously they could assign projects to pipelines and stages, but couldn't reorder a pipeline, and the pipeline had to be created in the GUI. While fine for a small configuration, in a site with 100s of microservices that could get out of hand quickly.

So... this is now possible!

You will need to run "make migrate" once after updating code, as this adds a new database field.
You may turn the behavior off inside organization settings if you find it too powerful.


For those skimming, the new field in .vespene files is:

pipeline_definition: [ 'build', 'qa', 'stage', 'release' ]

If set, and the pipeline does not exist, it will create the pipeline with the given stages.

If the pipeline exists and the stages are different, it will also EDIT the pipeline.