Forum Discussion
I would argue that using pipeline names with a version number (e.g. “Error Handler v1”) is a reasonable approach if you think about those pipelines as the released software and not the original source code. In other words, you would have an “Error Handler” source pipeline where you made changes. Then, when you were satisfied with the state of the pipeline, you would make a copy and add the version number to the name.
To make it easier to consume common pipelines, you can put the version number in a pipeline parameter and then use an expression in the PipeExec to compute the path to the common pipeline. That way you would only have to change the pipeline parameter to do an upgrade. You could take it a bit further and leverage an expression library that contained the paths to the common pipelines so that configuring the PipeExec is just a matter of setting the path to “lib.common.error_handler_path”.
Thanks for your reply - some really good suggestions in there so we’ll try some different approaches out.