更新をプッシュするための作業コピーでもある運用 (ライブ) asp.net Web サイトを持つことは良い習慣ですか?
3 に答える
一般に、これは主にソース管理リポジトリにソースが含まれるのに対し、本番アプリケーションには結果が含まれるため、悪い習慣と見なされます。この 2 つは、いくつかの理由で別々に保持されています。
- 安全。ソースが本番サーバーにある場合、表示されるリスクがあります。これは問題かもしれませんが、そうではないかもしれません。安全な方法は、本番サーバーにソースを置かないことです。
- パフォーマンス。ソースを構築した結果は、ソース自体が一般的に最適化されていない方法でパフォーマンスを最適化できます。たとえば、.NET アプリケーションでは、運用展開にデバッグ シンボルが含まれていません。これは特定のアプリケーションでは問題にならないかもしれませんが、考慮する必要があります。
- 複数の結果。ソースは実際のアプリケーションですか、それともアプリケーションの構築に使用される情報ですか? 複数のバージョンをビルドできますか? たとえば、.NET Web アプリケーションでは、Web.config 変換がある場合があります。これらは、デプロイ時にソースのビルド結果を調整するために使用されます。ソース自体がライブ アプリケーションとして使用されている場合、これらのデプロイ時の変更は利用できません。
他の人は私よりもはるかにうまくこれを明確に説明できるかもしれませんが、一般的には悪い習慣と見なされています。あなたの特定のアプリケーションは、特定の理由の例外であるか、特定の理由によって意味のある影響を受けない可能性があるため、「一般的な」部分を強調します.
プロジェクトのレイアウトによっては、セキュリティ上の問題が発生する場合があります。たとえば、機密情報を含む .txt ファイルがある場合、サイトでアクセスできることに注意してください。
App_Code または .cs、.vb、.config などのファイルの内容は ASP.NET によって提供されないため、人々に見られたくないものをそこに置くことができます。
また、初期読み込みのパフォーマンスのために、VS Publish コマンドまたは Web 配置プロジェクト アドインを使用してサイトをプリコンパイルする必要があります (Web サイト プロジェクトで作業していると仮定します)。プリコンパイルされたデプロイ可能なコードの svn ブランチを作成し、サーバーでそのブランチを使用できます。