LoginSignup
0
0

More than 5 years have passed since last update.

bash on Windowsでfabricの導入と動作確認

Last updated at Posted at 2016-12-02

bash on WindowsからRaspberryPiに同時デプロイするためにfabricを導入しました。
動作確認まで行いましたので、記載していきます。

bash on Windowsにfabricをインストール

easy_installをインストール

$ sudo apt-get install python-setuptools

Python のヘッダファイルのインストール

これをやらずに進むとエラーがでる

pythonのversionが2.X.Xの場合
$ sudo apt-get install python-dev

pythonのversionが3.X.Xの場合(多分)
$ sudo apt-get install python3-dev

fabricをインストール

$ sudo easy_install fabric

バージョン確認

$ fab -V

動作確認

2台のRaspberryPiからenv.hostを取得し色を分けて表示とファイル送信をやってみました。

fabfile.pyを作成する

$ vim fabfile.py

fabfile.py
#coding:utf-8
from fabric.api import env, run, cd, lcd, put
from fabric.colors import green, magenta
from fabric.decorators import parallel

# SSHのIDとPW
env.user = "ID"
env.password = "PW"

# env用関数
def all():
  env.hosts = ["192.168.11.10","192.168.11.11"]
def green01():
  env.hosts = ["192.168.11.10"]
def blue01():
  env.hosts = ["192.168.11.11"]

# 並列実行
# env.hostが192.168.11.10の時緑でそれ以外はマゼンタで表示
@parallel(pool_size=2)
def getEnvHost():
  if env.host == '192.168.11.10':
    print green(env.host)
  else:
    print magenta(env.host)

# 同じPATHに保存
def copySamePath(path):
  put(path, path)

実行

2台からenv.hostを取得する

$ fab all -f fabfile.py getEnvHost

1台(192.168.11.10)に作ったfabfile.pyを送信してみる

$ fab green01 -f fabfile.py copySamePath:'/home/pi/fabfile.py'

env.hostsも実行時に動的にかえられるのでめっちゃ便利だ。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0