2012-03-22 15 views
3

私は特定のディレクトリパスからPythonスクリプトを実行するサーバを持っています。ちなみに、このパスはSVNトランク版のスクリプトからのチェックアウトです。しかし、私はこれがサーバー用のスクリプトを提供し更新する正しい方法ではないと感じています。Pythonスクリプトをどのように配布しますか?

他の方法をお勧めしますか? (コンパイル、コピー、パッケージ、アリなど) 最後に、Webサーバーはパラメータ付きのPythonスクリプトを実行します。更新プロセスはどのように行うのですか?

また、サーバー上の新しいプロジェクトでのみ動作する更新されたバージョンを処理するのに最適な方法を決定するのは難しいです。したがって、Pythonスクリプトを更新すると、新しく作成されたWebジョブだけがその処理方法を知ることになります。バージョンを追跡している多くのディレクトリのうちの1つに "配送"し、サーバが正しいものを選んでくれますか?

編集:私はwebserverは基本的にいくつかのデータ分析を実行するインターフェイスです。その分析は、いくつかのパラメータを取り、データを混合する実際のスクリプトです。私は本当にWebインターフェイスを変更しません。 Webサーバーに保存されているデータスクリプトを更新するだけで済みます。確かに、一部の高度なバージョンでは、Webサーバーも正しいバージョンのデータスクリプトを選択する必要があります。しかし、現時点では、どの方法が最も簡単なのか分かりません。

+0

が、私は、これは、CIまたは続く展開のエリアだと思います。私はジェンキンスを聞いた/ハドソンはこれに行く方法ですが、これを自分で試していない。もし問題が更新されたスクリプトだけをサーバーにプッシュするのであれば、make/ant/buildbot(pythonビルドツール)などは – alonisser

+0

となるでしょうし、コーディングホラーからの記事 - http:// www。 codinghorror.com/blog/2006/10/the-build-server-your-projects-heart-monitor.html – alonisser

+0

返信に満足できない場合は、特定のケースに関する情報を追加できますか?例えば。 「新しいプロジェクト」とは、独自のコードベースを持つ新しいWebサイトを意味するのか、むしろ異なるスクリプトを管理するプラグインシステムがあるかどうかにかかわらず、1つのコードベースに並んでインストールされる新しい機能を意味します(したがって、右のもの)など) – Dirk

答えて

2

Pythonコード/機能を標準的な方法で配布するには、PyPi準拠のパッケージマネージャを使用します。

python.org上で利用可能なは、PyPI実装のリスト:設定およびEggBasketの使用に関する

http://wiki.python.org/moin/PyPiImplementations

この機能を利用するには、コードを「卵」として配布する必要があります。あなたはここでこれを行う方法を見つけることができます:http://peak.telecommunity.com/DevCenter/setuptools

パッケージに卵と異なる部分の使用上の偉大なブログ記事:http://mxm-mad-science.blogspot.com/2008/02/python-eggs-simple-introduction.html

+0

パッケージマネージャーは何をしますかパッケージを集めるよりも?現在のバージョンが何であれ、実際には "インストール"するのも私の仕事なので。ユーザーがパッケージをダウンロードしているわけではありません。 – Gerenuk

+0

パッケージマネージャは、パッケージを保持するサーバーで、easy_installを使用してパッケージを入手することができます(バージョン管理システムからコードをチェックアウトするのと同様)。これにより、取得するバージョンを選択することもできます。 http://peak.telecommunity.com/DevCenter/EasyInstall – Dirk

+0

実際にコードをインストールするには、シェルスクリプトを使用して、パッケージマネージャのAPIを使用して、またはTravisやJekyllなどのビルドサーバーを使用して手動で行うことができます。 – Dirk

関連する問題