タグ

FabricとPythonに関するblueleのブックマーク (10)

  • 『俺達のFabric 〜余計な仕事はFabricに任せよう〜』

    どうも、ガールフレンド(仮)で窓際エンジニアをやっていたり、ウチの姫さまがいちばんカワイイで窓際エンジニアをやっていたりする Wataru です。(PCmacです) 窓が近いとエアコン戦争が激しいわけですが、やっと秋も近づいてきて戦争も終わりが見えてきたのでしょうか?残暑お見舞い申し上げます。え?遅い? さて、今回はFabricの紹介をさせて頂きたいと思います。 もしあなたが千手観音のようにたくさんの手を持ち、サーバのオペレーションをできるとしたら、どうでしょう? そう、そんな神様のような事をできるのがFabricというツールです。 Fabricって何? まあまあ大げさなことを書きましたが、Fabricはコマンドラインのツールです。Pythonでできていて、SSHの作業を効率化してくれるものです。アプリケーションのデプロイや管理がすごく楽になるんです。 リモートやローカルのシェルコマンド

    『俺達のFabric 〜余計な仕事はFabricに任せよう〜』
  • Vagrant Fabricで簡単プロビジョニング

    全国1億2000万人のVagrantユーザーのみなさんこんばんは。 最近Vagrantの話を書こうとしても、みんな先にかかれてしまうので困っていたのですが、今日はPython製のデプロイツールであるFabricとVagrantを組み合わせて簡単にプロビジョニングする方法を紹介します。 インストール前述の通り、FabricはPython製のデプロイツールで、SSHで対象先に接続してコマンドを発行したりSFTPしてファイルを配置したりといったことが簡単にできるツールです。Rubyでよく使われるCapistranoと同系統のツールです。 インストールは接続先のマシンではなく、接続元のマシンに行います。環境によって様々な方法がありますが、おおよそ以下のどれかでインストールできます。Ubuntuを使っている場合 sudo apt-get install fabric 既にpythonがインストールさ

    Vagrant Fabricで簡単プロビジョニング
  • Can I catch error codes when using Fabric to run() calls in a remote shell?

    Normally Fabric quits as soon as a run() call returns a non-zero exit code. For some calls, however, this is expected. For example, PNGOut returns an error code of 2 when it is unable to compress a file. Currently I can only circumvent this limitation by either using shell logic (do_something_that_fails || true or do_something_that_fails || do_something_else), but I'd rather be able to keep my log

    Can I catch error codes when using Fabric to run() calls in a remote shell?
  • Fabric デプロイツールのPythonicな書き方 - Ian Lewis

    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

  • Fabricを使ってリモートサーバーでコマンドを実行する - スコトプリゴニエフスク通信

    Python版のCapistranoと言われて久しいFabricだけど、ドキュメント通りにやっても全く動かなかった経験があるのでずっとスルーしてきた。http://pypi.python.org/pypi/Fabric/0.9rc1http://docs.fabfile.org/0.9/PyPIに上がっている0.9というバージョンは、まずまず動くので検討する価値がある。インストールはいつも通り、 $ pip install Fabric 基的なことFabricをインストールするとfabというスクリプトがインストールされるので、 $ fab -H localhost -f fabfile.py command> のようにして実行する。fabfile.pyは設定ファイルの名前だが、fabfile.pyという名前で設定ファイルを保存しておけば省略できる。-Hオプションはホスト名の指定。オプショ

  • Fabricで多段ssh - チューリング不完全

    Fabricで多段sshした上でコマンド実行させることができたので、書いておきます。 環境 Python 2.6.6 Fabric 1.5.1 (paramiko 1.9.0, ssh 1.8.0) サーバは全てCentOS 6.3 やり方は.ssh/configに書かれたProxyCommand設定を読み込む方法とFabricのenvをいじる方法の2つがあります。 ここではFabricのenvをいじる方法について解説します。 環境 +---------------+ |192.168.200.99 | +---------------+ ↓ +---------------+ |192.168.200.100| +---------------+ ↓ +---------------+ |192.168.200.101| +---------------+ ↓ +------------

    Fabricで多段ssh - チューリング不完全
  • Python製デプロイツール Fabricを初めて使う際に役立つTips

    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

    Python製デプロイツール Fabricを初めて使う際に役立つTips
    bluele
    bluele 2013/05/02
    参考にする
  • 今日からすぐに使えるデプロイ・システム管理ツール Fabric 入門 - 科学と非科学の迷宮

    Fabric は、Python 製のデプロイ・システム管理ツールです。 最近、構築や運用を自動化するための様々なツールが出てきています。 構成管理ツールの Puppet や Chef が有名ですが、使うまでに覚えることが多いのが欠点です。 しかし、Fabric は非常にシンプルなツールで、今からすぐに使うことができます。 Fabric はデプロイ・システム管理ツールで、類似のツールとして Ruby 製の Capistrano があります。 Fabric の最大の特長は、シェルスクリプトを書き慣れた人がいきなり利用できるところです。 シェルスクリプトとしてまとめていたコマンドをそのまま run() メソッドや sudo() メソッドで囲むだけで、使うことができます。 シェルスクリプトを使っていていると、いくつもの問題に遭遇します。 名前空間の管理 変数の扱い 複雑なデータ構造がない(せいぜい

    今日からすぐに使えるデプロイ・システム管理ツール Fabric 入門 - 科学と非科学の迷宮
  • チラ裏

    前回はnginxとuwsgiを連携してアプリを動作する方法を紹介しました。 前回までのエントリー Pyramidのインストールまで サーバーの起動まで MySQLの設定 Nginxとuwsgi ホームディレクトリ以下に保存されたアプリをそのままuwsgiで動かしていましたが、このままだと不便なことが多々あります。 ・複数人で開発した場合 ・番環境と開発環境が違う場合 以上の問題をfabricで解決してみたいと思います。 fabricはpythonで記述できるデプロイツールです。 ssh経由でのコマンド実行やrsyncでのファイル同期など簡単な記述で実現できます。 今回は以下の構成を前提とします。 ■開発環境 ホスト名:dev ユーザー:yoshi ■番環境 ホスト名:pro ユーザー:web yoshi@devからweb@proへsshでログインできること。 今回もFabricをset

  • Fabric — Fabric v1.0 documentation

    About¶ FabricはPython(2.5以上)のライブラリかつコマンドラインツールです。 アプリケーション開発にSSHのストリームラインとして使ったり、システム管理作業に使えます。 Fabricはローカルないしリモートのシェルコマンドを実行(普通にでも sudo 経由でも)、ファイルのアップロード/ダウンロード、実行ユーザに入力を促したり、実行を停止する補助機能などの基的なツール群を提供します。 典型的名使い方は1つ以上の関数を持つPythonモジュールを作成し、それらを fab コマンドラインツール経由で実行するというものです。次に示すのは1つのタスクを持った小さいけれど完全な”fabfile”です:

  • 1