Fabric
Jump to navigation
Jump to search
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