問題タブ [fabric]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
deployment - 複数のプロジェクトで fabfile を共有する
Fabricは、 Djangoプロジェクトの展開と Ubuntuスライスの初期構成の両方で、私の最適な展開ツールになりました。ただし、Fabricを使用した現在のワークフローはあまりDRYではありません。
fabfile.py
あるDjangoプロジェクトから別のプロジェクトにコピーし、- 各プロジェクトの必要に応じて を変更します
fabfile.py
(たとえば、webserver_restart
タスクを Apache から Nginx に変更する、ホストと SSH ポートを構成するなど)。
このワークフローの利点の 1 つは、 がGitリポジトリfabfile.py
の一部になることです。したがって、とpipの間に、再作成可能な virtualenvとデプロイ プロセスがあります。このアドバンテージは残しつつ、DRYを増やしていきたいです。次の方法でワークフローを改善できるようです。fabfile.py
requirements.txt
- および
pip install
で定義された一般的なタスクを実行できるfabfile.py
- 各プロジェクトのホスト構成情報を
fab_config
含むファイルを用意し、必要に応じてタスクをオーバーライドする
python - ファブリックとsvnのパスワード
Fabricでこのようなものを実行できないと仮定します。
run("svn update --password 'password' .")
リモートインタラクティブコマンドラインのパスワードをFabricに渡す適切な方法はどのようになっていますか?
問題は、リポジトリがsvn + sshとしてチェックアウトされており、http / https/svnオプションがないことです。
python - Windows の fabfile で activate_this.py を使用して Python 仮想環境をアクティブにします。
Django プロジェクトの設定にアクセスする必要がある Fabric タスクがあります。
Windows では、Fabric をプロジェクトの virtualenv にインストールできません (Paramiko + pycrypto deps の問題)。しかし、問題なくシステム全体のサイト パッケージに Fabric をインストールできます。
Django をプロジェクトの virtualenv にインストールしました。「VIRTUALENV\Scripts\activate.bat」スクリプトで virtualenv をアクティブにすると、すべての "> python manage.py" コマンドを簡単に使用できます。
私のプロジェクトには、セットアップ、テスト、展開などのタスクを提供するファブリック タスク ファイル (fabfile.py) があります。私の fabfile の一部のタスクは、「django.conf インポート設定から」を通じて、私の django プロジェクトの設定にアクセスする必要があります。 "。
私が持っている唯一の使用可能な Fabric インストールは、システム全体のサイト パッケージにあるため、fabfile 内で virtualenv をアクティブにして、django を使用できるようにする必要があります。これを行うには、プロジェクトの設定などにアクセスできるようにするために、プロジェクトの virtualenv の「activate_this」モジュールを使用します。activate_this.py を実行する前後に「print sys.path」を使用すると、プロジェクトの virtualenv を指すように Python パスが変更されたことがわかります。ただし、まだdjango.conf.settingsをインポートできません。
*nix (Ubuntu および CentOS) と Cygwin でこれを正常に実行できました。Windows でこのセットアップ/ワークフローを使用しますか? もしそうなら、なぜこれが Windows で動作しないのか、またはこの問題を回避するためのヒントやコツを教えてください。
感謝と乾杯。
参照:
- http://virtualenv.openplans.org/#id9 | bin/python なしで Virtualenv を使用する
ローカル開発環境:
- パイソン 2.5.4
- Virtualenv 1.4.6
- ファブリック 0.9.0
- ピップ 0.6.1
- ジャンゴ 1.1.1
- Windows XP (SP3)
python - Python Fabric:入力のための任意のリモートシェルプロンプトを処理するには?
これは、こちらの質問に関連していますが、少しひねりがあります。単に「はい」または「いいえ」を渡す代わりに、リモート シェルに任意の文字列を渡すために Fabric が必要です。
たとえば、リモート シェルが「あなたの名前は何ですか?」というプロンプトを表示した場合、次に、「最初、最後」にフィードする必要があります。
明確化:私は任意の入力を言ったことを知っていますが、実際には git pull を実行しようとしたときに SSH キー passwd プロンプトに使用しようとしていました。
更新 #1: Jeff Forcier @bitprophet から応答を得ました
python - Pythonファブリックエラー
私はファブリック(apacheへのDjangoデプロイメント)を実行していますが、サイトをインストールするタスクに到達するまで、すべてが正常に機能しているようです。
私はこのエラーを受け取り続けます:
fabfile.pyを何度も繰り返しましたが、エラーが発生する理由がわかりません...何かアイデアはありますか?
postgresql - ファブリックを使用してpostgresqlユーザーを作成するにはどうすればよいですか
セットアップファブリックスクリプト用のデータベースユーザーを作成したいのですが、createuserにはインタラクティブなパスワード入力があり、ファブリックが気に入らないようになっています。
python - Fabric が約 2 分間、サーバーからの切断メッセージを表示するのはなぜですか?
Disconnecting from username@server... done.
fab コマンドを発行するたびに、新しいコマンド プロンプトが表示される前に、Fabricがほぼ 2 分間表示されます。
この問題は、内部サーバーと Rackspace クラウド サーバーの両方に発行された Fabric コマンドを使用する場合に発生します。以下に、サーバーからの auth.log を含めましたが、MacBook のログには何も表示されませんでした。
問題が何であるかについて何か考えはありますか?
LogLevel VERBOSE のサーバーの SSH auth.log
サーバー構成
- OS: Ubuntu 9.10 および Ubuntu 6.10 (これらの OS で 4 台のサーバーをテスト済み)
- OpenSSH: Ubuntu パッケージ バージョン 1.5.1p1-6ubuntu2
クライアント構成
- OS: Mac OS X 10.6.3
- ファブリック ver 0.9
- 仮想環境 ver 1.4.7
- ピップ版 0.7
テストに使用する単純な fabfile.py
fab -H server_ip host_type
次のfabfileで実行しただけでも問題は解決しません。
問題の原因についての考え
この問題がいつまで続いているかは定かではありませんが、Fabric を使用してサーバーの切断が遅いことに気付き始めてから変更された点を以下にいくつか示します。
virtualenv 1.4.7、virtualenvwrapper 2.1、および pip 0.7 を使用して、virtualenv を再作成しました。これが関連しているかどうかはわかりませんが、virtualenv 内から fabfiles を実行しているので考えられます。OS X のファイアウォールを有効にしました。OS X のファイアウォールを無効にしても問題が解決しないため、これは問題ではありません。
python - デプロイ スクリプトの保存場所
Python プロジェクトに次のディレクトリ構造があると仮定します。
config/ scripts/ src/
ファブリック展開スクリプトはどこに置くべきですか? 明らかに、それはスクリプトにあるはずだと思いますが、私にとっては、プロジェクトを起動する実際のコードであるスクリプトに格納する方が適切だと思われます。
deployment - sqlalchemy-migrate デプロイメントをサポートする Fabfile は?
私の開発環境では、データベースの移行 (sqlalchemy-migrate を使用) がうまく機能しています。ただし、これを展開プロセスに統合する方法については少し困惑しています。
リモート サーバーで manage.py ファイルを実行するためにファブリックを使用したいのですが、このファイルのリポジトリ値に何を使用すればよいかわかりません。「appname/migrations」と「/usr/local/pylons/appname/env/lib/python2.6/site-packages/appname-05.egg/appname/migrations/」の両方を参照すると、migrate.versioning で失敗します。 exceptions.InvalidRepositoryError
sqlalchemy-migrate とうまく連携する fabfile と manage.py を持っている人はいますか?
python - Python Web プロジェクトの構造: 開発、パッケージ化、デプロイ
私は (Java + Ant から) Python を初めて使用し、Fabric + Pip + Virtualenv を使用して Python Web アプリケーション パッケージのスケルトンをセットアップする方法を誰かが詳しく説明できるかどうか疑問に思っていました。
最終的な目標は、1 つのコマンドで次のいずれかを実行できるようにすることです。
- 新しい開発ボックスに開発環境をセットアップする (すべての deps をインストールする)
- すべてのテストを実行する
- パッケージ化してステージングにデプロイ
- ステージングを本番環境にデプロイする
- その他の典型的な開発フロー タスク: スキーマの移行など。
私は Debian+git+Tornado を使用していますが、可能であれば、この OS/SCM/フレームワークにとらわれないようにしたいと考えています。
私はいくつかの検索を行いましたが、これを上から下までカバーする決定的なものをまだ見つけていません. 私はこれが非常に役立つと思います.Java/PHP/その他の元Java/PHP/何でもそうする人が他に何人かいると思います.
ありがとう!