lholman / OneBuild

Convention based PowerShell build for .NET http://lholman.github.io/OneBuild/
Apache License 2.0
17 stars 2 forks source link

Support application configuration transformations for multi-environments #33

Open lholman opened 9 years ago

AwaNoodle commented 9 years ago

Shouldn't this be something the deploy step would take care of?

lholman commented 9 years ago

Hot topic, but I believe OneBuild should provide the consumer the correct application configuration for an environment (and optionally client too) if you require it. Nothing too fancy beyond some standard config transformation and leaning on NuGet packaging. After all, most deployment tooling is poor at this, let's start treating app config as code and validating it early on.

ll

-----Original Message----- From: "Mark Turner" notifications@github.com Sent: ‎09/‎02/‎2015 17:22 To: "lholman/OneBuild" OneBuild@noreply.github.com Cc: "Lloyd Holman" lloyd.holman@datumgenerics.net Subject: Re: [OneBuild] Support application configuration transformations formulti-environments (#33)

Shouldn't this be something the deploy step would take care of? — Reply to this email directly or view it on GitHub.

AwaNoodle commented 9 years ago

Aside from including the configs, which you could do in the nuspec already, what would you be doing out of interest? Wouldn't you be adding further steps to do the deploy too? I'm guessing you mean to supply a param that would let OneBuild create a package with the transform already completed. In this case, from the flow I am used to, this would be useful for a single stage, and then I'd have to transform or modify as I promoted the package upwards (since I'm not rebuilding each time). In this scenario I'd look for having a neutral base I could transform against rather than a transformed one that someone would need to be aware of when writing a transform for a later stage of the pipeline.

lholman commented 9 years ago

@AwaNoodle We're thinking about it in different ways I think. I want to bring the pain forward and complete all transformations during the Commit phase, then deploy the appropriate configuration. More to come on this as the idea is for OneBuild to expose a contract for simple deployment from another tool.