まず現在の状況を説明します。
python
カスタム (公開リリースされていないもの) と一般的な既知のパッケージに依存するいくつかのアプリケーションがあります。これらの依存関係はすべてインストール時にsystem python
インストールされます。アプリケーションの配布は、git
ソースごとに行われます。これらのコンピューターはすべて企業ネットワーク内に隠され、インターネットにアクセスできません。
このアプローチには、次の欠点があるため、少し面倒です。
- ライブラリは各コンピューターに手動でインストールする必要があります:(
アプリケーションをより適切にデプロイするには? 私は最近virtualenv
、解決策のように見えるものを見ましたが、まだ見ていません。
virtualenv
アプリケーションのクリーンpython instance
を作成します。ソフトウェアのユーザーが簡単に起動できるようにするには、これをどのように展開すればよいですか?
起動中に作成するアプリケーション内に起動スクリプトが必要virtualenv
ですか?
次の問題は、コンピューターがインターネットにアクセスできないことです。パッケージのカスタムの場所 (ネットワーク共有?) を指定できることは知っていますが、それは正しいアプローチですか? それとも、圧縮されたパッケージもデプロイする必要がありますか?
別のアプローチは、Python インスタンス全体を出荷することでしょうか? virutalenv
したがって、ユーザーは?を起動する必要はありません。この python インスタンスでは、必要なすべてのパッケージが事前にインストールされます。
私たちのアプリは急速に成長しているため、リリース サイクルも短くなっています (2 週間)。経由でのデプロイgit
は非常に簡単でした。ユーザーはstable
、更新スクリプトを介してブランチからプルして、最新のリリースを取得できます。それはまだ可能でしょうか、それともより良い方法がありますか?
たくさんの質問があることを私は知っています。うまくいけば、誰かが私に答えたり、アドバイスをくれたりします。