内容へ移動
Cat Paw Software
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
fabric
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== fabric ====== python製のデプロイツール。複数のサーバに対してアップロードしたり、複数のサーバで一気にコマンドを実行したりできる。 ===== インストール ===== pipでインストールする $ easy_install pip $ pip install fabric ===== 接続ユーザ情報の設定 ===== sshでサーバを操作するのでssh情報が必要なのでどっかに書かないとだめ ==== fabfile.pyに直接設定を書く ==== <code python> from fabric.api import env env.key_filename = ['~/.ssh/id_rsa'] env.user = 'nullpon' env.password = 'nullpon_password' </code> ==== .ssh/configを読むようにする ==== <code python> from fabric.api import env env.use_ssh_config = True </code> fabricを実行するマシンから操作対象のマシンへ。鍵認証のときはパスフレーズなしにするなり、agent起動するなりでno pass実行可能にしておくと良い。 ===== タスクのファイル分割 ===== <code> $ fab content.deploy # 静的コンテンツデプロイ $ fab app.deploy # アプリのデプロイ </code> のようにタスクを呼べるようにする方法 pythonスクリプト用のディレクトリを掘って <code> fabfile.py fabtask/ content.py app.py __init__.py </code> ファイルの中身は… <code python> # fabfile.py import fabtask.content as content import fabtask.app as app # fabtask/content.py from fabric.api import task @task def deploy(): pass # fabtask/app.py from fabric.api import task @task def deploy(): pass </code> ===== QA ===== ==== サーバプロセスが起動できない ==== 以下のようにしても起動できない run('node hoge.js >hoge.log &') sshの切断時に端末からsighupが送られて速攻でプロセス終了してるのが原因なので、ssh接続時に疑似端末を作らないようにする run('node hoge.js >hoge.log &', pty=False) nohup付けても何故か効かなかった…
fabric.txt
· 最終更新: 2014/09/11 05:21 by
nullpon
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ