How Deployment Manager works
Published 07 August 2013
Deployment Manager works by deploying packages from a feed to target machines. When you deploy, Deployment Manager works through these steps:
- It gathers the packages to install from a package feed.
- It uploads them to the target machines they should be installed to.
- An Agent (a Windows service) on the remote machine installs them.
When we say package, we really just mean a .zip file with a small manifest describing the contents. A package consists of all of the files needed by the application (for example, executables, DLLs, configuration files, CSS files, and so on). Deployment Manager uses the NuGet file format, created by Microsoft and used by Visual Studio.
For more information on packages, see: Creating packages.
The target machines are your web servers, application servers, database servers, and any other server on which you want to deploy your software. On them, you install a Windows service called the Agent.
Bringing it all together is the Deployment Manager server, which consists of the web interface that users can use to configure their deployments, and a Windows service that co-ordinates the deployment process (pulling packages and pushing them to target machines). A Deployment Manager server can have many Agents.
Communication between a Deployment Manager server and an Agent is always encrypted using a trust relationship based on public/private key cryptography. That makes it secure enough to use on production machines in the cloud or in remote data centers. In fact, machines don't even have to be on the same Active Directory domain - a common scenario is to run Deployment Manager on a local machine within your enterprise, but to have it deploying software to remote machines in the cloud.
Thus, the three main components that make up an Deployment Manager installation are:
- A central Deployment Manager server, with a web interface for configuring deployments.
- An Agent service, which runs on each of the machines you want to deploy software to.
- A package feed containing the packages (files) you want to deploy.
Installing and setting up Deployment Manager
Now that we have the background out of the way, let's install Deployment Manager. The steps are: