何かを行う方法を理解するのに苦労しています。ファブリックでは直感的であるべきだと思います。リモートで実行されたコマンドの結果である stdout をキャプチャし、その結果を後続のリモート呼び出しで使用したいと考えています。
しかし、私は本当に理解できないエラーが発生しています。自分のしていることには複数の問題があるように感じますが、どこから始めればよいかわかりません。おそらく、誰かがこれを分解するのを手伝ってくれるでしょう。
私が持っているもの:
...
with cd(env.repo):
abbrev_hash = run('git log -1 --pretty="%h"')
run("rsync -r --exclude '.git/*' %s %s" % (env.repo, abbrev_hash))
...
関連する出力:
[cookcountyjail.recoveredfactory.net] 実行: git log -1 --pretty="%h" [cookcountyjail.recoveredfactory.net] out: [cookcountyjail.recoveredfactory.net] out: c6d4ea0 [cookcountyjail.recoveredfactory.net] out: [ cookcountyjail.recoveredfactory.net] 出力: [cookcountyjail.recoveredfactory.net] 実行: rsync -r --exclude '.git/*' > /home/ubuntu/repos/cookcoc6d4ea0l_2.0-dev
[cookcountyjail.recoveredfactory.net] out: /bin/bash: -c: 1 行目: 予期しないトークン付近の構文エラー
newline' [cookcountyjail.recoveredfactory.net] out: /bin/bash: -c: line 1:
[cookcountyjail.recoveredfactory.net] out: ' [cookcountyjail.recoveredfactory.net] out:致命的なエラー: run() は、実行中にゼロ以外のリターン コード 1 を受け取りました!
c6d4ea0ed: rsync -r --exclude '.git/*' /home/ubuntu/repos/cookcountyjail_2.0-dev
実行: /bin/bash -l -c "cd /home/ubuntu/website/2.0/websites && export PATH=\"\$PATH:\"/home/ubuntu/website/2.0/websites/active\"\" && rsync -r --exclude '.git/*' /home/ubuntu/repos/cookcouc6d4ea0_2.0-dev "