Does Deployer originate on the Server or the Agent?

I am trying to deploy an artifact that is built on a remote agent to a folder that is only accessible from the server. My understanding is that if I setup artifacts and then add a Deployer build step, the deployment will take place from the Server and not the Agent but the step doesn't work and there is no error logged other than:

Step 15/15: Upload artifact to Octopus (SMB Upload) (2s)
[Step 15/15] Starting upload via SMB to \\SERVICE-ACCESS\packagesNew
[Step 15/15] Deployment problem: SERVICE-ACCESS

[Step 15/15] Step Upload artifact to Octopus (SMB Upload) failed

If the deployer only runs from the Agent, this error makes sense but then can I do what I want to do and add a task that uploads from the server (without adding another build)?

If the deployer is supposed to operate from the Server, can you give me any way to debug this further? The artifact was successfully copied to the server artifacts folder, I just want the additional step of deploying to a nuget location.



Hi Luke,


I'm afraid that your understanding is not correct. All build steps work always from the build agent process. The only builds that are run directly on the server are those of the "Composite" type, and they cannot have build steps of their own, they are only used to gather information from other builds and compile it for having it all available in the same place.


The only options to upload from the server would be to install a build agent on the server, or to expand the permission or restriction so that the build agent can actually run the deployment.


Adding a build agent to the server is usually not recommended on high load servers, but might be fine in some scenarios, particularly if you would set this up as a separate build, with a dependency (snapshot and artifact) on the build that generates the artifacts, and then make the agent be exclusively dedicated to running that build. That way, it will minimize the performance impact on the server while still being able to run the task from the same machine. More information on that ability here:


OK, Thanks for the clarification!


Please sign in to leave a comment.