プロダクションが更新される前に機能をテストするために使用されるステージング サーバーがあります。毎回 svn エクスポートを使用して svn コードを更新する代わりに、リポジトリの作業コピーとしてステージを使用しています。今、レポでコミットされたものをチェックする必要があるたびに、ステージで svn update を実行し、準備が整いました。
知りたいのですが、それは正しいことですか?
プロダクションが更新される前に機能をテストするために使用されるステージング サーバーがあります。毎回 svn エクスポートを使用して svn コードを更新する代わりに、リポジトリの作業コピーとしてステージを使用しています。今、レポでコミットされたものをチェックする必要があるたびに、ステージで svn update を実行し、準備が整いました。
知りたいのですが、それは正しいことですか?
これは、継続的インテグレーション(CI)のベストプラクティスの1つです。コードの変更によってバグが発生したかどうかをすばやくフィードバックするには、継続的インテグレーションサーバー(「ステージングサーバー」と呼びます)でコードをすばやく更新し、スモークテストの短いスイートを実行します。これにより、人々は何かを修正する必要があるかどうかをすばやく(10〜20分)確認できます。
ただし、別のベストプラクティスは、コードベースのクリーンチェックアウトを1日1回(通常は夜間)実行し、より長い一連のテスト(機能テスト、ストレステストなど)を実行することです。同じCIサーバーまたは異なるCIサーバーで実行できます。
(@YusufXが言及しているように)重要なことは、これらのことは自動的に行われなければならないということです。そのためには、継続的インテグレーションサーバーを使用する必要があります。利用可能なものがいくつかあります。個人的には、私はJenkinsの大ファンです(無料でオープンソースです)。
誰もステージを使用していない場合、それは機能します。それ以外の場合は、最初に開発テスト サーバーに配置する必要があります。とにかく、自動展開してから自動テストするのが「正しいこと」です。