We are using TeamCity and Octopus Deploy to perform CI/CD with the custom WSP's that we use for SharePoint, and I'm currently trying to solve the problem of how to handle environment-specific configuration.
Consider the scenario where we have a WSP, and we add to it a web part which depends on some external web service. I have dev, test, and production environments, and each has a different URL for this web service. Where/how should I store the URL, and how can I set it up so that no manual steps are required to get the correct value saved in each environment?
I would prefer not to depend on anything pre-existing on the server (registry setting, environment name in a property bag, etc) as I'd like my WSP's to be as self-sufficient as possible.