Fabric は、Python 製のデプロイ・システム管理ツールです。 最近、構築や運用を自動化するための様々なツールが出てきています。 構成管理ツールの Puppet や Chef が有名ですが、使うまでに覚えることが多いのが欠点です。 しかし、Fabric は非常にシンプルなツールで、今からすぐに使うことができます。 Fabric はデプロイ・システム管理ツールで、類似のツールとして Ruby 製の Capistrano があります。 Fabric の最大の特長は、シェルスクリプトを書き慣れた人がいきなり利用できるところです。 シェルスクリプトとしてまとめていたコマンドをそのまま run() メソッドや sudo() メソッドで囲むだけで、使うことができます。 シェルスクリプトを使っていていると、いくつもの問題に遭遇します。 名前空間の管理 変数の扱い 複雑なデータ構造がない(せいぜい
by @dekokun on 2013/04/07 19:30 Tagged as: Python, Fabric, デプロイツール. 2013/04/09 追記 意外と反響があるようなので、Tips追加しました。 2013/05/10 追記 並列実行について調べたのでついでに追記 「次のプロダクトはシンプルなデプロイツールだと噂のCinnamonでも使ってみるかー」と言っていたら、「Cinnamonは使ってるユーザ数が少なそうだし同様のことが行えるFabricのほうがいいんじゃないですかね。」というツッコミをいただき、今回はPerlのプロジェクトでもないためFabricを使用することにしました。 初めて触るFabric、やはり初学者にはいろいろとよくわからない部分があったため、はまって解決したことや便利なTipsなどをつらつらと列挙していきます。 なお、以下情報はPython2.7及びF
サーバ設定作業は面倒で間違いを犯しやすいため、Chef/Puppetなどのツールで自動化したいと考えている方は多いと思います。 私もそのような理由からChef(-solo)を習得しようと試行錯誤していました。 その結果、ある程度は動くようになったものの次のような問題があると思いました。 学習に時間がかかる 私は正直、今でもどのファイルに何を書くのかよく分かってないです。 幾分か簡単だと言われるchef-soloでも公式サイトのドキュメントだけではよく理解出来ませんでした。 また、バージョンによる差異なのか目的が異なるのか分かりませんが、ブログ記事を参考にしようとすると十人十色でどれが私に合った手順なのかわかりませんでした。 例え最終的に理解できたとしても、私やあなたが何日もかけて理解できないことはチームのメンバーも理解するのは難しいと思います。 対象サーバにインストールする必要がある Ch
pip、buildout などを使うとデプロイする時に Python ライブラリの依存関係はややこしいことがあります。 普段はデプロイスクリプトで、 pip に requirements.txt を指定して、もしくは、 buildoutを実行して、 依存ライブラリを落としてインストールしますが、 PYPI がダウンしている場合、環境によって、PYPIにアクセス 出来ない場合もありますので、デプロイが止まってしまって困ります。 PYPIはダウンしている時に pip は PYPI のミラーを使うことができますが、ミラーに必要がパッケージバージョンが入っていない、 ミラーの最後のIDのDNS が ちゃんと動いていないときに、 pip は当然ちゃんと動かない場合も。 bitbucket や、 github からのリポジトリに依存している場合、 接続できなかったら、ミラーがないので、当然インストール
Fabric は指定したコマンドを各ホストで実行する実行モデルです。この場合は特にホストの指定がなかったので、全部ローカルで、一回実行することになります。 これは結構つまんないので、本当の例を見ましょう。これは最近、仕事で作ったコマンドです。 nginx サーバーでメンテ画面を出すようなコマンドです。 各ロードバランサーで実行します。 from fabric.api import run, cd, abort, require, sudo, env from fabric.decorators import runs_once, roles from fabric.contrib.console import confirm ... @roles('loadbalancers') def start_maintenance(): """ メンテナンス画面に切り替える """ _produc
Please note This documentation is for the stable (0.9) version of Fabric. To view documentation for the in-development (1.0) version, please click here. About¶ Fabric is a Python library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks. It provides a basic suite of operations for executing local or remote shell commands (normally or v
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く