0

自家製の php/mysql アプリケーションのアップグレードプロセス自体を管理する方法についての情報を探しています。つまり、本番サーバーで動作する php/mysql アプリケーションの「安定した」バージョンがあり、それを作業中の次のバージョンにアップグレードしたい場合、どうすればエレガントにそれを行うことができるでしょうか? どのようなプラクティスを実装する必要がありますか?

私がやろうと思っていたのは、ただ

  1. すべての安定性/機能テストが完了したら、コードのチェックインを停止するよう開発者に依頼します

  2. アプリケーションをオフラインにします*** (Q: ユーザーがログインしたり公開ページにアクセスしたりできないようにするにはどうすればよいですか? そのためのベスト プラクティスは?) 秘密のログイン ページ/URL を介して開発者にアクセスを許可します

  3. 運用サーバーにログオンし、最新バージョンをローカルでチェックアウトします***
  4. 開発者/テスターに​​、シークレット アクセス ページ / URL*** を通じてコードをテストしてもらいます。
  5. その後、このシークレット アクセス ページ/URL を削除し、メンテナンス中のサイト ページを削除して、すべてへのアクセスを復元することにより、すべてへのアクセスを復元します。

***注: これを行う簡単な方法は、/myapp/ の名前を /myapp.old/ に変更し、新しいアプリケーション バージョンを /myapp.new/ に配置することです。完了したら、名前を /myapp/ に戻します (これは単なる基本的な考え方です)。

4

2 に答える 2

2

これは大きな質問であり、多くの点で特定のプロジェクトによって異なります。しかし、ここで考えるべきいくつかのプラクティスがあります:

  1. コードにたくさんのコメントを入れてください。今では完全に論理的に見えることは、1、2年後に変更を加えるために戻ったときに混乱するでしょう。

  2. 独自のデータベースを使用して、サイトの開発バージョンを維持します。本番サイトに公開する前に、サイトへの変更をテストできます。

  3. PHPフレームワーク(CakePHP、CodeIgniterなど)を使用します。プロジェクトが順調に進んでいる場合、これを行うのは難しいかもしれません。ただし、更新が簡単な方法でコードを作成するのに役立ち、最初から作成する必要のない安定した成熟した関数が多数含まれます。これらのフレームワークの1つを使用する(そしてそのベストプラクティスに従う)ことは、初心者が更新が簡単なモジュラーコードの記述について考えることを学ぶための最良の方法です。これにより、サイトの構造と一致する方法でデータベースを開発することもできます。

  4. コードにエラーがないかプログラムでチェックするためのテストを作成します(フレームワークがこれに役立ちます)。

  5. SubversionやGitなどのバージョン管理システムを使用します。これにより、サイトへの変更を追跡し、バグがあることに気付いた場合に変更を簡単にロールバックできます。

于 2010-08-18T14:51:41.820 に答える
0

単体テストを包括的にカバーすることは非常に有用であり、小規模で非常にまとまりがあり、結合度の低いクラスも同様です。単体テストに加えて、統合レベルからの適切なカバレッジは価値があります。

于 2010-08-18T15:02:20.143 に答える