Djangoを使い始めました。
Webサイトの完成はまだまだなんだけど
デプロイどうしようか?となりました。
gitでやってもいいんだけど
gitはサーバ自体に.git/が残っていしまう。
※そうならないように階層下げて作ってもいいけど
また、gitの下に、gitを作るとちっと面倒なので(そもそもできるのか?)
gitでもデプロイは諦めました。
つーことで、pythonつながりで
「fabric」っつーのを見つけましたので、メモ。
easy_installを利用して、fabricをインストール
$ sudo easy_install fabric
インストールされているか、確認
$ fab -V Fabric 1.8.3 Paramiko 1.12.4
うむ
fabricのファイルを作成してみる。
# 最初のファイルなんで $ vim firstFabric.py
#!/usr/local/bin/python # -*- coding:utf-8 -*- from fabric.api import local def hello(): local('echo hello') def uname(): local('uname')
それでは、はじめてのfabric実行!(;`・ω・)ドキドキドキドキ
$ fab hello Fatal error: Couldn't find any fabfiles! Remember that -f can be used to specify fabfile path, and use -h for help. Aborting.
orz
うーむ?と思うほどでもなかった。
知らなかったけど、どうやら「fabfile.py」という名前じゃないといけないらしい。
修正して、再度実行
$ mv firstFabric.py fabfile.py $ fab hello [localhost] local: echo hello hello Done.
(;`°Д°)ウォオオオオオオオオオオオオオオオオオオ!!!
なにこれ!!?
めっちゃ簡単やんけ!!!
あ、名前は「fabfile.py」じゃなくてもいいっぽい
デフォルトは「fabfile.py」なんで、変更した場合は指定しなさいってことね
$ fab -f firstFabric.py hello [localhost] local: echo hello hello Done.
いいよ!!いいよ!!
fabricいいよいいよ!!!
ウフフヾ(*´∀`*)ノ キャッキャッ
なんと!複数サーバに向けて実行もできるらしい!!!
試してみる!!!
まずはソースを修正
#!/usr/local/bin/python # -*- coding:utf-8 -*- from fabric.api import run # local -> run def hello(): run('echo hello') # local -> run def uname(): run('uname -a') # local -> run, uname -> uname -a
そして、複数サーバが近くにあったので実行してみる。
# format : fab -u ${user} -H (${host}|${host},${host},...) ${functionName} $ fab -u username -H 192.168.11.1,192.168.11.2,192.168.11.3 uname [192.168.11.1] Executing task 'uname' [192.168.11.1] run: uname -a [192.168.11.1] Login password for 'username': [192.168.11.1] out: Linux localhost.localdomain 2.6.18-308.1.1.el5 #1 SMP Wed Jan 1 04:16:51 EST 20xx x86_64 x86_64 x86_64 GNU/Linux [192.168.11.1] out: [192.168.11.2] Executing task 'uname' [192.168.11.2] run: uname -a [192.168.11.2] out: Linux localhost.localdomain 2.6.18-308.4.1.el5 #1 SMP Tue Jan 1 04:17:00 EDT 20xx x86_64 x86_64 x86_64 GNU/Linux [192.168.11.2] out: [192.168.11.3] Executing task 'uname' [192.168.11.3] run: uname -a [192.168.11.3] out: Linux localhost.localdomain 2.6.18-308.4.1.el5 #1 SMP Tue Jan 1 05:18:19 EST 20xx x86_64 x86_64 x86_64 GNU/Linux [192.168.11.3] out: Disconnecting from 192.168.11.1... done. Disconnecting from 192.168.11.2... done. Disconnecting from 192.168.11.3... done.
・・・・・・・・・・・・・・・・
(声にならない)
・・・・・・・・・・・・・・・・
(声がでないんだ)
・・・・・・・・・・・・・・・・
(なんていうかな・・・・。)
・・・・・・・・・・・・・・・・
(ほらあれだよ。涙が出すぎて声がでないんだ)
・・・・・・・・・・・・・・・・
(悶絶っつーのかな・・・?少し違うかな?)
・・・・・・・・・・・・・・・・
(画像で言うとこんな感じだよ)
・・・・・・・・・・・・・・・・
(ね?ちょっとはわかるでしょう?)
・・・・・・・・・・・・・・・・
(今すごく感動しているんだよ。)
ふぅ
ちょっと取り乱しましたが、すごい感動しました。
たったこれだけ?とか、こんなツール知っていないの?情弱。
とか言われるかもしれませんが
そんなのどうでもいい!!取りあえず、すげぇ!すげぇよこれ!
隊長は、あと10年は戦えそうです。