Fabric-Windows環境-学習ノート


ソフトウェア環境
機械A:Win 7 x 64(192.168.8.8):
python2.7+fabric最新
django
FreeSSHd(SSHユーザー名:administrator,NT認証、このwindowsユーザーパスワードabc)
putty(ssh接続の検証)
機械B:
linux
gitサーバ
機械C:
linux
ssh
検証用
------------------------------------------------------
fab公式サイトのチュートリアル:
http://docs.fabfile.org/en/1.10/tutorial.html
1、fab公式サイトのチュートリアルはdjangoプロジェクトを使った.
手持ちのdjangoプロジェクトがないので、最新のdjango公式チュートリアルを使うしかありません.
https://docs.djangoproject.com/en/1.8/intro/tutorial01/
まず一つ作りました.django公式チュートリアルはよく書けていて、使いやすくて、簡単に実行できました.
fabの公式サイトで使ったtestsだけです.py、簡単なtestcaseを1つか2つ書く必要があります
したがって、fab公式サイトのチュートリアルでは、すべてのコマンドで使用されるmy_アプリの場所はpollsに変更する必要があります
2、fab deploy接続ローカルサーバーで一連の問題が発生した:
質問1:

env, host, localhost, :
Low level socket error connecting to host localhost
プロセス:
(1) putty localhostで なし
(2)マシンC(linux)にログインし、
ssh 192.168を する.8.8 、 Cの のユーザー を わうので、 できない
って、sshを する[email protected]あ、でも がらない
ファイアウォールの かもしれないと ってpython.exe, fab.exe、freesshd、およびtcp 22ポートはファイアウォールを し、
このとき、 Cにはsshが192.168に する.8.8、okです.
しかし、 ではfabコードは として Low level socket error, に されている.
(3)
レノボは にもあるwebアプリケーションでlocalhostを めず、127.0しか めなかったことがある.0.1、または の 、
したがってfabコードでは、 にenv を し、localhostではなく127.0を いる.0.1
env.hosts=['[email protected]:22'] env.user='administrator' env.password='abc'
1を する.
:
http://stackoverflow.com/questions/1469431/why-am-i-receiving-a-low-level-socket-error-when-using-the-fabric-python-library
2:Unable to execute command or shell on remote system: Failed to Execute process
ssh , windows ,


, , windows , fab bash , shell

fab ,


env.shell="cmd /c"


2 。


http://stackoverflow.com/questions/22504784/fabric-cannot-execute-remote-command-on-windows

http://stackoverflow.com/questions/14863659/paramiko-not-executing-command-or-shell-python


3:

with cd() :


code_dir="H:\mydjango"

#code_dir="/h/mydjango"

with cd(code_dir):

    run(“dir”)


, C:\windows\system32 , ,


with cd(),


run("H:" +  " && " + "cd " +code_dir+  " && " + “dir")



,deploy 127.0.0.1 , git clone , ssh

, win7 , git ,git bash ssh ~/.ssh/id_rsa.pub id_rsa , pub gitlab


ssh , git , freesshd , fresshd ssh,

freesshd ssh ~/.ssh/id_rsa.pub id_rsa , , 。

, freesshd , 。


FreeSSHd 。


OpenSSH for windows

:run , (0x20 ), 。( )

OpenSSH , putty , ssh -T [email protected], ; fab deploy run("ssh -T [email protected]") 。( )