Fabric decorators task

シェルスクリプトでLinuxをインストールする環境はできたが、サーバに接続してシェルスクリプトをコピー・編集するという状態である。Fabricを使いこの作業をホストから行えるようにしてみる。fabfile.pyひとつにタスクを書いていくのではなくディストリビューションやOSごとにファイルを分割してタスクを書いていく。

$ python -V
Python 2.7.3

$ fab --version
Fabric 1.8.0
Paramiko 1.12.0
$ mkdir fabfile
$ cd fabfile
$ touch __init__.py centos.py debian.py freebsd.py gentoo.py
$ vi __init__.py

from . import debian
from . import centos
from . import gentoo
from . import freebsd
$ vi centos.py

from fabric.decorators import task

@task
def cmd():
    pass
$ vi debian.py

from fabric.decorators import task

@task
def cmd():
    pass
$ vi gentoo.py

from fabric.decorators import task

@task
def cmd():
    pass
$ vi freebsd.py

from fabric.decorators import task

@task
def cmd():
    pass
$ fab -l
Available commands:

    centos.cmd
    debian.cmd
    freebsd.cmd
    gentoo.cmd