Fabfiles With Command Line Arguments

Posted by phasetwenty on Stack Overflow See other posts from Stack Overflow or by phasetwenty
Published on 2010-05-18T17:07:36Z Indexed on 2010/05/18 17:10 UTC
Read the original article Hit count: 325

Filed under:
|

Is there a clean way to have your fabfile take command line arguments? I'm writing an installation script for a tool that I want to be able to specify an optional target directory via the command line.

I wrote some code to test what would happen if I passed in some command line arguments:

# fabfile.py
import sys

def install():
    _get_options()

def _get_options():
    print repr(sys.argv[1:])

A couple of runs:

$ fab install
['install']

Done.
$ fab install --electric-boogaloo
Usage: fab [options] <command>[:arg1,arg2=val2,host=foo,hosts='h1;h2',...] ...

fab: error: no such option: --electric-boogaloo

© Stack Overflow or respective owner

Related posts about python

Related posts about fabric

  • Windows Azure Learning Plan - Application Fabric

    as seen on SQL Blog - Search for 'SQL Blog'
    This is one in a series of posts on a Windows Azure Learning Plan. You can find the main post here. This one deals with the Application Fabric for Windows Azure. It serves three main purposes - Access Control, Caching, and as a Service Bus.   Overview and Training Overview… >>> More

  • fabric and svn password

    as seen on Stack Overflow - Search for 'Stack Overflow'
    Assuming that I cannot run something like this with Fabric: run("svn update --password 'password' .") how's the proper way to pass to Fabric the password for the remote interactive command line? I am not sure, but the svn server we're using might have some restrictions to not allow --non-interactive… >>> More

  • Python Fabric error

    as seen on Stack Overflow - Search for 'Stack Overflow'
    I'm running fabric (Django deployment to apache) and everything seems to work fine until I get to the task for installing the site: def install_site(): "Add the virtualhost file to apache" require('release', provided_by=[deploy, setup]) sudo('cd %(path)/releases/%(release)/%(release);… >>> More

  • How to set target hosts in Fabric file

    as seen on Stack Overflow - Search for 'Stack Overflow'
    I want to use Fabric to deploy my web app code to development, staging and production servers. My fabfile: def deploy_2_dev(): deploy('dev') def deploy_2_staging(): deploy('staging') def deploy_2_prod(): deploy('prod') def deploy(server): print 'env.hosts:', env.hosts env.hosts = [server] … >>> More

  • fabric deploy problem

    as seen on Stack Overflow - Search for 'Stack Overflow'
    Hi, I'm trying to deploy a django app with fabric and get the following error: Alexs-MacBook:fabric alex$ fab config:instance=peergw deploy -H <ip> - u <username> -p <password> [192.168.2.93] run: cat /etc/issue Traceback (most recent call last): File "build/bdist.macosx-10… >>> More