タグ付けされた質問 「fabric」

9
デプロイユーザーとしてファブリック経由でvirtualenvをアクティブ化
ローカルでファブリックスクリプトを実行し、サーバーにログインし、ユーザーをデプロイに切り替え、プロジェクトの.virtualenvをアクティブにします。これにより、dirがプロジェクトに変更され、git pullが発行されます。 def git_pull(): sudo('su deploy') # here i need to switch to the virtualenv run('git pull') 私は通常、アクティブ化ファイルをソースするvirtualenvwrapperからworkonコマンドを使用します。postactivateファイルを使用すると、プロジェクトフォルダーに配置されます。この場合、ファブリックはシェル内から実行されるため、制御はファブリックに渡されるため、 '$ source〜/ .virtualenv / myvenv / bin / activate'に組み込みのbashのソースを使用できません。 誰かがこれをどのように行ったかの例と説明がありますか?

5
パラメータをファブリックタスクに渡す
コマンドラインから「fab」を呼び出すときに、ファブリックタスクにパラメーターを渡すにはどうすればよいですか?例えば: def task(something=''): print "You said %s" % something $ fab task "hello" You said hello Done. プロンプトなしでこれを行うことは可能fabric.operations.promptですか?
123 python  fabric 

15
ファブリックファイルでターゲットホストを設定する方法
Fabricを使用して、Webアプリのコードを開発、ステージング、および本番サーバーにデプロイしたいと考えています。私のfabfile: def deploy_2_dev(): deploy('dev') def deploy_2_staging(): deploy('staging') def deploy_2_prod(): deploy('prod') def deploy(server): print 'env.hosts:', env.hosts env.hosts = [server] print 'env.hosts:', env.hosts 出力例: host:folder user$ fab deploy_2_dev env.hosts: [] env.hosts: ['dev'] No hosts found. Please specify (single) host string for connection: Fabric docsにset_hosts()示されているようにタスクを作成すると、env.hostsが正しく設定されます。ただし、これは実行可能なオプションではなく、デコレータでもありません。コマンドラインでホストを渡すと、最終的にはfabfileを呼び出すある種のシェルスクリプトが生成されます。1つのツールで適切に処理を行うことをお勧めします。 それはファブリックのドキュメントで「env.hostsは単なるPythonリストオブジェクト」であると述べています。私の観察から、これは単に真実ではありません。 誰かがここで何が起こっているのか説明できますか?デプロイするホストを設定するにはどうすればよいですか?
107 python  host  fabric 


7
ファブリックがエラーを受け取ったときにタスクを続行する方法
複数のリモートサーバーで実行するタスクを定義すると、タスクがサーバー1で実行されてエラーで終了すると、Fabricはタスクを停止して中止します。しかし、ファブリックにエラーを無視させ、次のサーバーでタスクを実行させたいと思います。どうすればこれを実現できますか? 例えば: $ fab site1_service_gw [site1rpt1] Executing task 'site1_service_gw' [site1fep1] run: echo 'Nm123!@#' | sudo -S route [site1fep1] err: [site1fep1] err: We trust you have received the usual lecture from the local System [site1fep1] err: Administrator. It usually boils down to these three things: [site1fep1] err: [site1fep1] err: #1) Respect …
94 python  fabric 

4
エラーなしでgitcommitを実行する方法は?
git commit;を実行するファブリックスクリプトを作成しようとしています。ただし、コミットするものがない場合、gitはステータスが1。で終了します。デプロイスクリプトはそれを失敗と見なし、終了します。実際のコミットの失敗を検出したいので、git commit失敗をファブリックに完全に無視させることはできません。空のコミットの失敗を無視してデプロイを続行できるようにするにはどうすればよいですか?それでも実際のコミットが失敗したときに発生したエラーをキャッチできますか? def commit(): local("git add -p && git commit")
92 python  git  fabric 

4
Fabric使用時に〜/ .ssh / configにリストされているホストに接続する
にあるFabricホストを認識できないのに問題があります~/.ssh/config。 私fabfile.pyは次のとおりです。 from fabric.api import run, env env.hosts = ['lulu'] def whoami(): run('whoami') 実行$ fab whoamiすると: [ルル]実行:whoami 致命的なエラー:luluの名前検索に失敗しました 名前luluは私の中にあります~/.ssh/config、このように: Host lulu hostname 192.168.100.100 port 2100 IdentityFile ~/.ssh/lulu-key これを解決するための私の最初の考えはlulu.lulu、/etc/hosts(Macを使用している)のようなものを追加することですが、その後、IDファイルもFabricに渡す必要があります-そして、認証(つまり~/.ssh/config)をデプロイメントとは別にしたい(つまり)すなわちfabfile.py)。 同様に、ちなみに、hostsファイルでホストに接続しようとするとfabric.contrib.projects.rsync_project、hosts.env(hosts.env = [lulu:2100]の呼び出しを使用してにrsync_project接続しようとしているように見えるlulu:21)の「ポート」を確認していないようです。 Fabricがこのlulu名前を認識しない理由はありますか?
83 python  ssh  fabric 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.