Difference between revisions of "Fabric"
Jump to navigation
Jump to search
(→Test) |
|||
Line 42: | Line 42: | ||
code_dir = '~/fabrictest' |
code_dir = '~/fabrictest' |
||
+ | @parallel |
||
def start(): |
def start(): |
||
with cd(code_dir): |
with cd(code_dir): |
||
run("./start.sh") |
run("./start.sh") |
||
+ | |||
+ | @parallel |
||
+ | def stop(): |
||
+ | with cd(code_dir): |
||
+ | run("./stop.sh") |
||
EOF |
EOF |
||
+ | |||
fab -i remotehost.pem start |
fab -i remotehost.pem start |
||
</pre> |
</pre> |
Revision as of 11:18, 4 August 2015
Fabric is a Python (2.5-2.7) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.
Install
sudo apt-get -y install python-pip sudo apt-get -y install fabric git clone https://github.com/warner/python-ecdsa.git cd python-ecdsa/ sudo python setup.py install cd .. sudo rm -fr python-ecdsa fab -V
Test
mkdir fabrictest cd fabrictest cat <<EOF > fabfile.py def hello(name="world"): print("Hello %s!" % name) EOF fab --list fab hello fab hello:name=Jeff fab hello:Jeff
Test Remote
cat <<EOF > fabfile.py from __future__ import with_statement from fabric.api import * # from fabric.contrib.console import confirm env.hosts = ['host1', 'host2'] code_dir = '~/fabrictest' @parallel def start(): with cd(code_dir): run("./start.sh") @parallel def stop(): with cd(code_dir): run("./stop.sh") EOF fab -i remotehost.pem start