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?
2 Answers 2
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.
-
This is an open source project so I can't use Puppet or Chef, however Fabric sounds good.mehdix– mehdix2014年09月22日 14:05:56 +00:00Commented Sep 22, 2014 at 14:05
-
Huh? Puppet and Chef are open source, aren't they?l0b0– l0b02014年09月22日 15:18:42 +00:00Commented Sep 22, 2014 at 15:18
-
Maybe my mistake, but the websites are not clear enough. Puppets shows me "Buy" option and Chef shows me plans to choose between, however there was a "manage yourself" in Chef website but I did not find the license information.mehdix– mehdix2014年09月22日 15:21:22 +00:00Commented Sep 22, 2014 at 15:21
-
1"Open source" and "free" are not the same thing...l0b0– l0b02014年09月22日 15:33:39 +00:00Commented Sep 22, 2014 at 15:33
-
1They don't make it easy to find the FOSS version of Puppet, which is a shame as CentOS never exactly hurt RedHat sales. If its not already in your distro's repositories, then you can get it from PuppetLab's own.gbjbaanb– gbjbaanb2014年09月22日 16:14:06 +00:00Commented Sep 22, 2014 at 16:14
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.
-
What I need is installing python virtualenv and proper libs which may need compiling (or I may use cross compiling) and then run the software. Do you think this can be done with scp and ssh only?mehdix– mehdix2014年09月22日 14:09:16 +00:00Commented Sep 22, 2014 at 14:09
-
Totally. Write a bash script which does that, upload the script and launch it with
ssh
.Arseni Mourzenko– Arseni Mourzenko2014年09月22日 14:46:42 +00:00Commented Sep 22, 2014 at 14:46 -
1@MehdiSadeghi: There's a Puppet module for
virtualenv
which works well.l0b0– l0b02014年09月22日 18:46:38 +00:00Commented Sep 22, 2014 at 18:46
Explore related questions
See similar questions with these tags.