We are upgrading from ArcGIS Enterprise/Portal 10.3 to 10.6 soon. We plan to migrate our MXDs to ArcGIS Pro on the desktop. From there, we will publish either to our on-premises ArcGIS Portal or ArcGIS Online for Organizations.
Instead of just clicking on the options in the Share ribbon in Pro, we are hoping to create a more repeatable and transparent publishing process. We all code Python here, so that’s our language preference (maybe creating a Toolbox?), but we are open to other languages. Our objectives include:
We are open to whatever tools save us work, but prefer Python-based tools (ArcPy, ArcGIS API for Python). I've previously written Python to interact with the REST Admin site's JSON interface, so that's a possibility. I also saw something about the ArcGIS Server create service command line utility, but I'm not sure if this could work with Portal & AGOL, too.
Before we charge ahead, I just wanted to see if anyone else out there has done this, knows of a solution, and/or wants to share some advice/code.