問題タブ [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.
django - Django プロジェクトの自動セットアップとデプロイのための優れたツール
2021年更新
今日、私はこれと他の Devops タスクにAnsibleを使用しています。その過程で、Chef、Puppet、Saltstack、および Docker イメージを試してみましたが、小規模なプロジェクトで作業するソロ開発者として、Ansible のような軽量ツールが最適であることがわかりました。
元の質問 (2011 年から)
私は独立した Web 開発者として始めたばかりで、最近、かなり単純なサイトの見積もりが予想よりもかなり高かったため、クライアントを怖がらせました。基本的には、Wordpress.com や Google サイトなどのホスト ソリューションで自分たちで作成できたパンフレットウェアでした。1 つの重要な機能を除いて、Django はぴったりだと思いました。適切な Web 開発の動機になる可能性があります。
大まかな見積もりに記載したタスクを見ると、ほとんどの時間は、このクライアントの Web サイトに固有のものではないことが明らかです。このことから、新しい Django プロジェクトのセットアップとデプロイのプロセスを自動化するスクリプトが必要だと考えるようになりました。
次のように、いくつかのことを手動で行う必要があります。
新しい VPS をセットアップします (または、ほとんどの場合、既存の VPS で仮想ホストを使用します)。
DNS 設定を編集して、clientsdomain.com と test.clientsdomain.com が新しい VPS を指すようにします。
SSH キーのセットアップ
構成ファイルを編集します。
スクリプトは次のようなことを行います。
新しい VPS に必要なパッケージをいくつかインストールする
新しい VPS にデフォルトの iptables ファイアウォールをインストールする
clientdomain.com および test.clientsdomain.com の nginx/apache 構成を追加します。
VPS での本番用とテスト用、およびローカル マシンでの開発用に新しいデータベースをセットアップします。
新しい Django プロジェクトを作成し、Bitbucket に配置します。
本番、テスト、開発用に settings.py と local_settings.py をセットアップする
本番データベースとアップロードされたファイル ディレクトリのオフサイト バックアップ ルーチンをセットアップします。
一部のデフォルト アプリを有効にします: flatpages、admin
いくつかのボイラープレート テンプレート、いくつかのボイラープレート フラットページ、およびナビゲーション バーを追加します。
960.gs CSS フレームワークを追加する
jQueryを追加
検索用に djapian または Haystack (自動更新用の cron ジョブを含む) をセットアップします。
新しい Google アナリティクス プロファイルを設定します。
本番、テスト、および開発の間でデータベースを複製する可能性を含める
Pingdom モニタリングのセットアップ
私は過去にRakeとFabricを多少似たような (しかし野心的ではない) ものに使用したことがあり、Fabric はこのタスクにもかなり適していると考えていますが、それでもあなたの意見をお待ちしています. 他に調べる必要のあるツールはありますか? Puppetについては良いことを聞いたことがありますが、彼らのサイト ( Enterprise という単語が含まれています) を見るだけで、1 人で操作するにはやり過ぎかもしれないと感じます。
python - ホストが見つかりません:ファブリック
Pythonコードを実行すると、ホストを要求されます。
ホストが見つかりません。接続用の(単一の)ホスト文字列を指定してください:
私は次のコードを持っています:
-Hオプションを指定してfabを実行しようとしても、同じメッセージが表示されます。私はUbuntu10.10を使用しています。助けていただければ幸いです。ところで、私はPythonの初心者です。
fabric - 警告: sudo() の実行中にエラーが発生しました (戻りコード 1): Fabric
生地初心者です。リモート マシンに setkey がインストールされているかどうかを確認しようとしています。そのために、バージョン番号を確認しようとしています。エラーが返された場合は、必要なパッケージがインストールされます。以下はコードです
ただし、警告が表示されます
警告: 「setkey -V」の実行中に sudo() でエラーが発生しました (戻りコード 1)
この理由は何でしょうか?パッケージがインストールされているかどうかを確認する他の方法はありますか?
python - SOCKSプロキシを介してファブリックスクリプトを実行するにはどうすればよいですか?
ssh_config
ゲートウェイサーバーへのSOCKSプロキシ設定があります。これは、使用するホスト定義を設定することによって作成されますDynamicForward localhost:9876
。SSHを使用してリモートサーバーに接続するために、使用する別のホスト定義を設定しましたProxyCommand /usr/bin/nc -x localhost:9876 %h %p
。これらはすべて正常に機能しています。
ただし、ファブリックスクリプトはそのリモートサーバーに接続する必要があります。接続時にSOCKSプロキシを使用するように指示するにはどうすればよいですか?
python - ファブリック (Python) の非冗長モードで with ステートメントを追加します。
私は今、次のコードを持っています
line1 と line2 の繰り返しを避ける方法はありますか?
python - ファブリックのCDコンテキストマネージャーが機能しない
新しいPCで開発環境をセットアップしましたが、Fabricで奇妙なエラーが発生しているようです。その「cd」コンテキストマネージャは現在のディレクトリを変更しないようであるため、私のコマンドの多くは機能しません。私はテストを書きました、そしてそれは私が得ることを期待していなかった結果を私に示しました:
実行後の結果は次のfab xxx
とおりです。
しかし、/home/pioneer/workspace/myproject
あるべきではなく/home/pioneer/workspace/myproject/src
、私は思います。
python - Fabric スクリプトでシェル コマンドを 1 行ずつ再実装するのはなぜですか?
Fabric は、「ローカルまたはリモートのシェル コマンドを実行する」ためのツールです。
長い Fabric スクリプトでリモート シェル スクリプトを 1 行ずつ再実装するのはなぜですか?
つまり、代わりに長いリモート シェル スクリプトを実行する簡単な Fabric スクリプトを作成しないのはなぜでしょうか?
python - ユーザーの .bashrc ファイルの特定の行のコメントを解除する Fabric スクリプトを作成するには?
行のコメントを解除する Fabric スクリプトをどのように記述しますか?
ログインしたユーザーの .bashrc ファイルから?
注: この質問は、ファイルの末尾に単に force_color_prompt=yes を追加してこの行を無視することではなく、特にこの特定の行を編集することに関するものです。
python - LinuxでのPythonスクリプト
銀行向けのビジネスクリティカルなWebアプリケーションを実行する約250の同一のLinuxサーバーがあります。基本的に私たちは多くのスクリプト作業を行いますが、今はそれを1つの場所にのみ集中させたいと思っています。つまり、1つのサーバーで実行し、それを多数のサーバーに展開します。これは簡単な作業であり、シェルスクリプトで実行できると皆さんは考えているに違いありません。しかし、ここでも、作業を行うためにさまざまなスクリプトを作成する必要があります
Pythonには大きなライブラリがあり、これは可能ですが、方法がわかりません。簡単に言うと、すべてのスクリプトを1つのファイルにまとめる必要があり、引数に基づいてそれを実行します。
たとえば、Pythonプログラムには、それらを組み合わせて異なる結果を実行できる関数があります。
それで、あなたはそれについて行く方法を私に知らせてください
python - Fabric 経由でリモート サーバーの TimeZone を設定するにはどうすればよいですか?
次のように、Fabric経由でリモートサーバーのタイムゾーンを変更しようとしています:
これはうまくいかないようです。Tue Apr 19 00:19:58 CDT 2011run("date")
は
、設定したばかりのタイムゾーンではありません。
サーバーにログインして同じ bash コマンドを実行すると、すべてが期待どおりになります。
誰でもこれに光を当てることができますか?私は何が欠けていますか?