2009-03-18 14 views
3

私はDjangoプロジェクトに取り組んでいます。良いコード展開戦略とは何ですか?

機能のデプロイメント段階では、マニュアルで説明した手順に従ってプロダクションマシンにコードをデプロイします。その意味での手作業の手順では、(プロジェクト全体の)テストケースを手動で実行し、syncdb(または最新のdbの変更)を手動で実行します。

このマニュアルの内容は、毎日1日約30分かかります。だから私はこれを自動化したかったのです。それでは、自動配置システムや、私が欲しいものややるべきことをするコマンドを必要とするものか、それとも手動でのみ行うべきものなのでしょうか? (私のすべてのコマンドを持っているシンプルなシェルファイルを使用しています。その場合、テストケースが失敗した場合、私の生産マシンで最新のコードを更新したくないので、少しシェルプログラミングを学ぶ必要があります。私は推測します!)

答えて

4

私自身がこれを研究し始めたばかりで、CapistranoのPythonに相当するものはFabricですが、成熟していない可能性もあります。カピストラーノはルビー/レール中心であるため、私はカピストラーノが不可能であるか不足していると不平を言う人は誰もいませんでしたので、単純に切り替えたい人が増えているようです。 YMMV。詳細情報hereおよびhere

編集:Fabricが多くの変更を行っているように見えます。彼らは自分のホームページをhttp://docs.fabfile.org/

+0

に移動しています。ファブリックの詳細:http://stackoverflow.com/questions/1233655/what-is-the-simplest-way-to-ssh-using-python – hughdbrown

+0

私の同僚の一人'svn update'を処理するためのpythonスクリプトを作成し、テストケースやその他のケースを実行します(質問に記載されている条件にも基づいています)。それはFabricと同じ行にあります –

1

アジャイルな言い方をすれば、デプロイメントプロセスで重複を特定して、リファクタリングする方法を探しています。ルビー/ Railsの世界では;-)

、あなたはCapistranoまたはVlad The Deployerに最初に電源を入れたい、とPython/Djangoの世界であなたは1つが存在していない私の知る限りを除き、同等に向けるだろう。

this postから、CapistranoがDjangoデプロイメントの処理に成功したと思われるので、検討する価値のあるオプションです。

それ以外に、なぜシェルプログラミングが必要でしょうか?あなたはPythonで超強力なスクリプト言語を持っています。なぜ手動プロセスを自動化しないのでしょうか?

関連する問題