SlideShare a Scribd company logo
1
Fabric
2
Fabric
● Pythonista狂喜乱舞のデプロイツール
■
動作(タスク)はPythonの関数で定義
■
ぶっちゃけ Python + Shell Script
■
日々のルーチンワークを自動化
■
複数サーバの環境を一気に整える
3
インストール
● やりかたいろいろ
■ $ pip fabric
■ $ easy_install fabric
■ $ sudo apt-get install fabric
● git clone は やめた方がいいとか
4
使い方
$ fab [options] task[ task task ...]
options
■ -f another_fabfile.py (./fabfile.py is default)
■ -H target.host.co.jp[,anothor.host.co.jp]
■ -p password
■ -i ~/.ssh/ssh_key
:
5
雰囲気
● fabfile.py   →
● $ fab -H ksl-i7 whats_your_name
[ksl-i7] run: hostname
[ksl-i7] out: ksl-i7.nagaokaut.ac.jp
from fabric.api import run
def whats_your_name():
run(“hostname”)
6
もうちょい実用
● fabfile.py   →
● $ fab -H ksl-i7,ksl-i5,ksl-t88w catch_snakes
[ksl-i7] sudo: yum install python
[ksl-i7] out: sudo password:
from fabric.api import run, sudo
def catch_snakes():
sudo(“yum install python”)
7
不満
パスワードとか-Hオプションとか毎回打つの?
ユーザ指定したいんだけど
8
env
def development():
env.hosts = ['ksl-i7']
env.user = 'testuser'
env.password = 'pass1234'
def do_something():
run('xxxxx')
$ fab development do_something
9
便利な
● fabric.contrib.files
exists('/home/%s/.bashrc' % env.user)
append('/home/user/.bashrc', 'alias la=”ls -a”')
comment(conf_file, r'^[^#]', use_sudo = True)
● fabric.api
put(local_src, remote_dst)
get(remote_src, local_dst)
10
Chef でエエやん
11
Chef との住み分け
●
本格運用なら Chef
■
たぶん
■
使ったことないけど
● ちょっとデプロイしたくなったら
■
デプロイ先に準備が要らない
●
シェルやPythonに慣れてるならFabricかなー

More Related Content

PDF
2日間Fabricを触った俺が
 色々解説してみる
PDF
Fabric Essentials
PDF
PDF
Offline Hoogleで何処でもはすはす
PDF
Node予備校 vol.1 名古屋
PDF
静岡のHaskellerはEmacsを使う
PPTX
C++のビルド高速化について
PPTX
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
2日間Fabricを触った俺が
 色々解説してみる
Fabric Essentials
Offline Hoogleで何処でもはすはす
Node予備校 vol.1 名古屋
静岡のHaskellerはEmacsを使う
C++のビルド高速化について
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug

What's hot (20)

PDF
Processing LTSV by Apache Pig
PDF
Fission で 始める Containerless Kubernetes #serverlesstokyo
PDF
My misstake on Ansible’s lineinfile module
PDF
Ansible 入門 #01 (初心者向け)
PDF
Log analysis by using elasticsearch,kibana and fluentd.
PDF
MackerelAPI使ってみた
PPTX
USP 友の会 LT 資料 20130413
PDF
20120317 IT系勉強会 in 神戸
PDF
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
PDF
Blenderde Qr Code
PDF
お手軽並列処理
PDF
Kansai mrb gr_sakura
PDF
Box plot for annual income presentation using R
PDF
オセロの終盤ソルバーを100倍以上高速化した話
PDF
Vagrant体験入門
PDF
開発現場で活用するVagrant
PPTX
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
PDF
RをAWSで使おう
PPTX
遺伝研スパコンを使った解析の並列化.pptx
PDF
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Processing LTSV by Apache Pig
Fission で 始める Containerless Kubernetes #serverlesstokyo
My misstake on Ansible’s lineinfile module
Ansible 入門 #01 (初心者向け)
Log analysis by using elasticsearch,kibana and fluentd.
MackerelAPI使ってみた
USP 友の会 LT 資料 20130413
20120317 IT系勉強会 in 神戸
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
Blenderde Qr Code
お手軽並列処理
Kansai mrb gr_sakura
Box plot for annual income presentation using R
オセロの終盤ソルバーを100倍以上高速化した話
Vagrant体験入門
開発現場で活用するVagrant
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
RをAWSで使おう
遺伝研スパコンを使った解析の並列化.pptx
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Ad

Viewers also liked (13)

ODP
Fabric (python)
PDF
Fabric-让部署变得简单
TXT
fabfile.py
PDF
Automation - fabric, django and more
PDF
Fabric - a server management tool from Instagram
PPTX
DevOps with Fabric
PPT
Python Deployment with Fabric
PDF
Pythonic Deployment with Fabric 0.9
PDF
Scaling mysql with python (and Docker).
PPT
Fabric
PDF
Fabric, Cuisine and Watchdog for server administration in Python
PDF
Lab 1 my sql tutorial
KEY
Donetsk.py - fabric
Fabric (python)
Fabric-让部署变得简单
fabfile.py
Automation - fabric, django and more
Fabric - a server management tool from Instagram
DevOps with Fabric
Python Deployment with Fabric
Pythonic Deployment with Fabric 0.9
Scaling mysql with python (and Docker).
Fabric
Fabric, Cuisine and Watchdog for server administration in Python
Lab 1 my sql tutorial
Donetsk.py - fabric
Ad

Similar to Fabric (20)

PDF
Capistrano
PDF
Niigata.pm #1
KEY
Fabricでサーバー管理をDRYにしよう
PDF
Puppet on AWS
PDF
Lapp環境をソースからインストールする(centos)
PDF
シンプルなシステム構成フレームワークalnair
PDF
Ansible quickstart
PDF
Hadoop on LXC
PDF
Debianを用いたCortex-M3マイコン開発事例のご紹介
PDF
ホームディレクトリに埋もれた便利なコードをさがせ!
PDF
Yesod on Heroku
PDF
Dockerイメージ構築 実践テクニック
PDF
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
PDF
ocamloptの全体像
KEY
Itcamp長崎2012 capistrano
PDF
Building production server on docker
ODP
Building production server on docker
PPT
PPT
Python開発環境三種の神器
Capistrano
Niigata.pm #1
Fabricでサーバー管理をDRYにしよう
Puppet on AWS
Lapp環境をソースからインストールする(centos)
シンプルなシステム構成フレームワークalnair
Ansible quickstart
Hadoop on LXC
Debianを用いたCortex-M3マイコン開発事例のご紹介
ホームディレクトリに埋もれた便利なコードをさがせ!
Yesod on Heroku
Dockerイメージ構築 実践テクニック
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
ocamloptの全体像
Itcamp長崎2012 capistrano
Building production server on docker
Building production server on docker
Python開発環境三種の神器

More from Joe_noh (20)

PDF
パフォーマンス改善のためにやったこと・やらなかったこと
PDF
Vue.jsのユニットテスト
PDF
Vuexと入力フォーム
PDF
カラーミーAPIドキュメントの今後
PDF
サイクルOJTイントロダクション
PDF
お産ウィークイントロダクション
PDF
モバイルアプリ研修イントロダクション
PDF
Webオペレーション研修イントロダクション
PDF
Web開発研修イントロダクション
PDF
リーンキャンバス
PDF
もっとgit
PPTX
できないことはPortで外注
PDF
DBにseedするライブラリつくった
PDF
やってみた -URL外形監視-
PDF
Elixirだ 第6回
PDF
Elixirだ 第5回
PDF
Elixirだ 第4回
PDF
Elixirだ 第3回
PDF
Elixirだ 第2回
PDF
Elixirだ 第1回強化版 後半
パフォーマンス改善のためにやったこと・やらなかったこと
Vue.jsのユニットテスト
Vuexと入力フォーム
カラーミーAPIドキュメントの今後
サイクルOJTイントロダクション
お産ウィークイントロダクション
モバイルアプリ研修イントロダクション
Webオペレーション研修イントロダクション
Web開発研修イントロダクション
リーンキャンバス
もっとgit
できないことはPortで外注
DBにseedするライブラリつくった
やってみた -URL外形監視-
Elixirだ 第6回
Elixirだ 第5回
Elixirだ 第4回
Elixirだ 第3回
Elixirだ 第2回
Elixirだ 第1回強化版 後半

Fabric