I have a geoprocessing service published from a tool written in Python and contained inside a Python toolbox.
I need to be able to publish this service in multiple environments (production, staging, testing, development) i.e. using different database backends.
I do not want to recreate the service definition package every time I need to move to a different environment.
In particular, I do not have direct access to production and do not want the people deploying the app to need to fire up ArcMap or ArcCatalog and risk some parameter not being set correctly.
Instead, I want to hand them a package and say "Publish this using the connection you created".
How can I accomplish that?
Thanks to another question, I've run across this piece of documentation here:
If you are currently disconnected from the server or do not have access to a server connection, you can configure your service definition with no available connection to ArcGIS Server. Selecting this option creates a service definition file that will have to be configured to work with a server connection at the time of publishing.
So it seems to me that ESRI says this is possible, unless I've misinterpreted something.