4

私は Web2Py ベースの Web アプリケーションを構築しており、ほとんどの開発をリモート EC2 開発サーバーで行っています。すべての Python モジュール、Web ページ、および Apache 構成ファイルを含む、システム全体のバージョン管理をしたいと考えています。ファイルは明らかに Linux ボックス全体に散らばっていますが、1 つのコマンドを使用してチェックアウト/コミットできるようにしたいと考えています。コマンドラインでSVNを初めて使用します-シンボリックリンクを含むある種の仮想ディレクトリを使用してこれを行う方法はありますか?

どんな考えでも大歓迎です。ありがとう。

4

5 に答える 5

3

すでに開発を開始している場合、簡単な方法は、SVN ツリーを編成してから、モジュールと httpd.conf をシンボリック リンクすることです。また、 virtualenvを利用して、virtualenv 構成のみをチェックインすることもできます。

于 2010-06-30T23:52:13.283 に答える
3

開発者が 1 人である場合、Git ( book ) の方が便利です。ローカルで非常に簡単に「コミット」し、EC2 インスタンスである可能性があるリモート サーバーに変更をプッシュできます。機能するには SSH 接続が必要です。しかし、おそらく、 GitHubなどのホストされたソリューションや、SSH と Git をインストールする機能を備えたその他のホスティング ソリューションを使用するでしょう。パブリック プロジェクトには GitHub を使用し、「プライベート」プロジェクトにはDreamHostを使用しています。

すべてのファイルを 1 つのディレクトリ構造に配置し、自動化されたプロセスを使用してそれらを展開します。Python の場合、 distutilseasy_installなどの Python 標準をお勧めします。より複雑な環境では、複数の EC2 インスタンスへのスケールアウトを開始する場合に非常に重要になるChefのようなものを検討する必要があります。複数のサーバーがなくても、繰り返し可能な自動展開のための Chef のようなものは、効率的な開発者が行うことです。

展開を行うために「手早く汚い」シェル スクリプトを作成する誘惑に駆られないでください。Chef が気に入らない場合は、別の方法を調べて、時間を取って学習してください。費やされた時間は、後で補われます。

于 2010-06-30T23:53:15.953 に答える
1

個人的には、Web サイトと構成ファイルの管理に git を使用しています。

同じレポにApache構成とWebサイトを混在させるかどうかはわかりませんが、そのアプローチを取る場合は、別のブランチで行い、リモートを適切に設定します.

実行している OS によって異なりますが、etckeeper は便利で、debian/apt ベースのシステムとうまく統合できます。

于 2010-07-01T00:09:24.127 に答える
1

ファジー ロリポップのように、git も強くお勧めします。特に汚染フットプリントが低いためです。SVN は.svnリポジトリの各サブフォルダーにフォルダーを残します。自動化されたスクリプトがフォルダーをコピー/貼り付けすると、コストがかかる可能性があります。

私が提案するのは、中央の git リポジトリと、バージョンをチェックアウトしてファイルをその場所にコピーする発行スクリプトがあることです。

あるいは

レポを少し分割し、シンボリック リンクを使用して Web サイトを接続することもできますが、本番ソースをレポにポイントするのはおそらくお勧めできません。上記のレプリケーション スクリプトの方法を引き続き活用します。

于 2010-07-01T00:01:10.633 に答える
0

VM を S3 にゴースト化することを考えたことはありますか? まるで「貧乏人のバージョン管理」のクラウド版のようです。

私はシンボリックリンクを作成しました。これは良い解決策ですが、最初は操作が簡単ではありません。

于 2010-06-30T23:59:06.190 に答える