一度にいくつかの機能を追加する必要があるため、ライブサーバーで何も変更せずに、しばらくの間 Web アプリケーションをコーディングしてきました。ライブサーバーを最後に更新してから変更されたものを追跡する方法がなく、ファイルをアップロードするのを忘れたり、特定のファイルに変更を加えなかったりして、少しパニックになりました。アプリケーションを壊します。私の質問は、コーディング環境で変更されたものとライブサーバーで既に変更されているものを追跡して、ユーザーが気付かないうちに変更を加えるためのベストプラクティスは何ですか?
1 に答える
本番環境でいくつかのリポジトリ システムとリリース パターンを使用します。私が行う方法は次のとおりです。
- 本番環境にデプロイするときはいつでも、アプリケーションのタグを作成します。リリース版にしてください。
- 新しい機能が開発されるトランクで現在のバージョンをバンプします。
- 次のリリースの前に製品バージョンを作成する必要がある場合に備えて、ブランチを作成します。このブランチは、以前のリリースに由来します。その後、パッチリリースを行います。それ用のタグを作成します。
- ブランチをトランクにマージします。
リリースからリリースまで、このサイクルに従います。
バージョン管理をお読みください。これは役立つかもしれませんhttp://svnbook.red-bean.com/en/1.5/index.html
データベース上#
以前は、alter-script ファイルでデータベースの変更を行っていました。リリースごとに 1 つの変更スクリプト ファイル。リリースに必要なすべての変更は、1 つの変更スクリプトに保持されます。以前は、データベースのリリース バージョンを追跡する BASELINE テーブルがありました。これは、製品リリース バージョンと同じです。これは機能しますが、手動の介入がありました。しかし、いつでも BASELINE テーブルを調べて、データベースのステータスと、どのファイル/alterscript が既に実行されているかを知ることができます。
LiquiBaseに移行しましたが、これは優れています。これまでにデータベースに実行された各クエリ、更新、または変更を追跡できます。素晴らしいロールバック計画があります。とりわけ、Liquibase の学習は非常に簡単です。
上記のいずれの場合でも、SVN はリビジョンを非常に効率的に処理します。