fabric
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| fabric [2014/09/05 10:38] – 作成 nullpon | fabric [2014/09/11 05:21] (現在) – [サーバプロセスが起動できない] nullpon | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== fabric ====== | ====== fabric ====== | ||
| - | python製のデプロイツール | + | python製のデプロイツール。複数のサーバに対してアップロードしたり、複数のサーバで一気にコマンドを実行したりできる。 |
| ===== インストール ===== | ===== インストール ===== | ||
| 行 9: | 行 9: | ||
| $ easy_install pip | $ easy_install pip | ||
| $ pip install fabric | $ pip install fabric | ||
| + | |||
| + | ===== 接続ユーザ情報の設定 ===== | ||
| + | |||
| + | sshでサーバを操作するのでssh情報が必要なのでどっかに書かないとだめ | ||
| + | |||
| + | ==== fabfile.pyに直接設定を書く ==== | ||
| + | |||
| + | <code python> | ||
| + | from fabric.api import env | ||
| + | |||
| + | env.key_filename = [' | ||
| + | env.user = ' | ||
| + | env.password = ' | ||
| + | </ | ||
| + | |||
| + | ==== .ssh/ | ||
| + | |||
| + | <code python> | ||
| + | from fabric.api import env | ||
| + | |||
| + | env.use_ssh_config = True | ||
| + | </ | ||
| + | |||
| + | fabricを実行するマシンから操作対象のマシンへ。鍵認証のときはパスフレーズなしにするなり、agent起動するなりでno pass実行可能にしておくと良い。 | ||
| + | |||
| + | |||
| + | ===== タスクのファイル分割 ===== | ||
| + | |||
| + | < | ||
| + | $ fab content.deploy | ||
| + | $ fab app.deploy | ||
| + | </ | ||
| + | |||
| + | のようにタスクを呼べるようにする方法 | ||
| + | |||
| + | pythonスクリプト用のディレクトリを掘って | ||
| + | |||
| + | < | ||
| + | fabfile.py | ||
| + | fabtask/ | ||
| + | content.py | ||
| + | app.py | ||
| + | __init__.py | ||
| + | </ | ||
| + | |||
| + | ファイルの中身は… | ||
| + | |||
| + | <code python> | ||
| + | # fabfile.py | ||
| + | import fabtask.content as content | ||
| + | import fabtask.app as app | ||
| + | |||
| + | # fabtask/ | ||
| + | from fabric.api import task | ||
| + | |||
| + | @task | ||
| + | def deploy(): | ||
| + | pass | ||
| + | |||
| + | |||
| + | # fabtask/ | ||
| + | from fabric.api import task | ||
| + | |||
| + | @task | ||
| + | def deploy(): | ||
| + | pass | ||
| + | </ | ||
| + | |||
| + | ===== QA ===== | ||
| + | |||
| + | ==== サーバプロセスが起動できない ==== | ||
| + | |||
| + | 以下のようにしても起動できない | ||
| + | |||
| + | run(' | ||
| + | |||
| + | sshの切断時に端末からsighupが送られて速攻でプロセス終了してるのが原因なので、ssh接続時に疑似端末を作らないようにする | ||
| + | |||
| + | run(' | ||
| + | |||
| + | nohup付けても何故か効かなかった… | ||
fabric.1409913524.txt.gz · 最終更新: by nullpon