pip/buildout を使用して依存関係をインストールするさまざまな python ベースのプロジェクトを構築しています。しかし、誰かが github プロジェクトを削除して私のアプリを無効にしたり、ネットワークが停止してデプロイを実行できなくなったりするという考えは好きではありません。
他の人はこれをどのように解決しますか?
さまざまなアイデアがありますが、おそらく最も有望と思われるのは、ある種のキャッシング プロキシ サーバーでしょう。ダウンロードしたプロジェクトのコピーをキャッシュし、キャッシュされたバージョンを提供する前に (ネット接続がある場合) 更新を定期的にチェックするこの内部プロキシ サーバーを使用するように pip を指示します。
このようなものはすでに存在しますか?
使用事例:
Web サーバー 1 にデプロイするプロジェクトがあります。リモートの依存関係を使用して新しい機能を追加します。実稼働 Web サーバーに更新するときに、PyPi がダウンしているためデプロイできません。あるいは、新しい Web サーバーをセットアップするときに、依存関係が github などから消えてしまったのかもしれません。
より広い世界で何が起こっても、展開/開発環境を常に起動できるようにするにはどうすればよいですか?
また、デプロイするときは、既存のコードの上にデプロイしません。むしろ、何か問題が発生した場合にロールバックできるように、新しい virtualenv を構築してそれに切り替えます。したがって、展開するたびに、環境を再構築する必要があり、依存関係が存在する必要があります。
そのため、依存関係をホストしているサーバーへの短期的なネットワーク停止を防ぎ、プロジェクトが削除されないようにするソリューションを探しています。