I have very little knowledge about the ArcGIS platform but we have built a geoprocessing service that calculates proximity using Python. In development, we deploy the service to server using ArcGIS Pro (by connecting to the server and deploy from the job history).

But I wonder how can I deploy to production?

I mean usually when you deploy to production, you will packaged it up in zip, jar, tar, dockers, etc. Then sometimes in old fashion way, you give this file to the site engineer to deploy.

But how about ArcGIS or more specifically ArcGIS Pro?

How can I deploy this service to production?

What kind of file I can give the site engineer?

Do we need to send developer who familiar with ArcGIS Pro to the site and bring along the python script that runs in ArcGIS Pro in a laptop (or in the server), and then deploy that to the ArcGIS server?

In ArcGIS server manager, I saw there's a button for publish service which can take a .sd file, but how can I convert my python script to .sd?

  • Does it need to be shared via ArcGIS Server? If you're needing folks internally to run your tool, you could convert your script to a ArcGIS Python Toolbox and save the toolbox on a network drive. Then anyone can open that tool using ArcGIS software Jan 22, 2021 at 13:13
  • At least at my workplace production is a different server than development, with different security permissions. Why don't you talk with your site engineer about their normal process for DEV -> PROD, show them how you deploy the service in DEV, and from there figure out the missing pieces. It may just be a matter of publishing to a different server. Jan 22, 2021 at 13:18
  • We don't really make use the service in ArcGIS software. Instead, we access it like a REST service from our own JAVA application. We merely rely on the geo related calculation in ArcGIS to get the job done. (although seeing this trouble, we are exploring perhaps we can just build the logic ourselves using JAVA library)
    – Neo
    Jan 25, 2021 at 6:50

1 Answer 1


There are 2 general workflows to publish a GP Service (Web Tool) into production.

The most common would be to use ArcGIS Pro to connect to your Portal (or stand alone GIS Server) and publish. Based on your comments, it sounds like your Portal/Server is in another environment and ArcGIS Pro cannot connect directly to it, or you're perhaps developing a service for a client and you don't have direct access to their environment.

Your research on the .SD (Service definition) files has taken you in the right direction. This is the mechanism you'd use to create a single, self-contained file that you can hand off to someone and they can publish from it. Once you've created the file, the person with the access to Portal/Server can publish this file.

  1. You'll create the SD file using the CreateGPSDdraft and StageService
  2. Hand off the .SD file to the person who has Publishing permissions
  3. That person can use ArcGIS Pro to publish. If they don't have that, they can use the Python built into Server and use the Upload tool. Alternatively they can use ArcGIS Server Manager to publish the .SD file.
  • Sounds like a plan. Will give it a try
    – Neo
    Jan 25, 2021 at 6:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.