I am dealing with a distributed application which is going to mange a network of Linux-based servers spread among different places. Having the SSH credentials (as the most supported connection mechanism on these servers) we need to deploy our application seamlessly on these servers and run it there to become an new node on our network. Moreover we don’t have and don’t want super user rights. This is basically a requirement in a scientific environment to run simulations on a network of resources.
Is there any well known approach to such a problem?
Fabric can be used to run basic deployment commands (and configuration management tools such as Puppet or Chef) for a very nice SSH-based deployment process.
5
If you don’t need additional layer such as Fabric:
-
Copy files to the server using
scp
, including the script to run, -
Run the script through
ssh
.
In both cases, make sure you don’t store SSH password anywhere, but use a pair of private/public keys.
3