Your browser was unable to load all of the resources. They may
have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.
What's the best way to break all the inherited properties of a child configuration, from its parent configuration?
We have a template of configuration that contains most of the essential build steps. Then each of our release would create one child configuration, each configuration uses a different repository. As time passes by the template gets updated for the newer releases, which makes the old releases unable to build again due to the changes in the steps.
I could just click on all of the steps in the child config so that the future updates won't apply to them. But it's such a tedious task. If I relocate the child config somewhere else, the steps will all report missing in red, since they were all inherited.
So my question is how I can break the inheritance of the child configuration at a certain time, sort of like a timestamp or tag?
Unfortunately this is not possible in QB. In your case, I think only the minimum setting that is not changing over time should be put into parent configuration.
A quick and dirty way I can see to do this is to make a copy of the parent config at the time of breaking, and using this as the 'somewhere else' you move them to. Essentially making a branch, like in source control, of the configuration code.
You could plan for this by having a master build config, and then a child called 'latest' which is updated as your requirements change. Then, any time you want to freeze the state of the code, rename 'latest' to 'as-of-date', and then make a new 'latest' by copying 'as-of-date', and put all new configurations under the new 'latest'. The old children will stay under 'as-of-date'.
Would the "Clone inherited steps, repositories, and variables into this configuration" action help? It's found in the upper right, above "Settings". Sounds to me like you could click that button for a child configuration after you perform a release, therefore preserving everything in that particular config by making everything overwritten.
Thanks for the reply
But I'm afraid we need to keep the build history in one place.
Never used that button as I didn't know what it was for.
I just tested that it could "override" the inherited steps, variables, etc. It's exactly what I needed.