私は現在、ファブリックを使ってdjangoアプリケーションのデプロイメントスクリプトを書いています。ロールバックが必要な場合に、アプリケーションが使用するvirtualenvをバージョン管理するシステムを持つことは、私には必要不可欠です。djangoデプロイメントのためのvirtualenvのバージョニング - 要件のpip出力
私がこれを行うと考えることができる最も堅牢な方法は、要件ファイルの内容のmd5ハッシュと同じ名前のvirtualenvを作成することです。これは、要件が変更されたときにチェックサムが変更され、virtualenvを新しいハッシュでコピー/更新し、ロールバックが必要な場合に備えて古いハッシュvirtualenvを保持できることを意味します( '現在の'シンボリックリンクを変更するだけです) 。
問題があります。たとえば、次のようなネストされた要件ファイル構文を使用しています。私のproduction.txt要件ファイル(-r base.text
)ですので、md5ハッシュは基本要件の変更などを考慮しません。
これらのファイルをインストールする前に解析する出力ピップはありますか?私はそれらをインストールしてから、何かが変更されたかどうかを判断するためにピップフリーズする必要はありません。
私には分かりません。要件ファイルを使用していて、gitのようなコードのバージョン管理をしている場合は、ロールバックしても要件ファイルをロールバックしませんか? – Daniel