私は最近、SVNまたはGITを使用したさまざまなWebアプリケーションのデプロイメントプロセスについて、多くの記事を読んでいます。
アジャイルの多くのフレーバーの方法と同様に、マスターまたはトランクにコミットしたものはすべて本番環境で使用できると想定されています。GitHubとEtsyの両方(http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/)は、これらはこれに基づいて機能すると述べています(ただし、Etsyには実際にはステージング環境があります)。
このプロセスは、すべての単体テストとCIテストが実行されていることを前提としています。ローカルおよびCIでテストを実行し、トランクにコミットします。SO、この時点であなたのコードは技術的に健全です。
あなたのコードは技術的には正しいかもしれませんが、ユーザー/機能テストは、特にフロントエンドテストに関して、より多くのバグを発掘するかもしれません。
私の質問はこれです。QAおよびビジネスオーナーは、実装した機能の変更をどこでテストしますか?トランクにコミットする前のローカルの開発マシン、またはQA /ステージングマシンで?
トランクから実行されるステージングマシンがあり、トランクにコミットされたすべてのコードが本番環境で使用できると想定している場合...ええと、どの時点で、コードはサインオフされ、技術とビジネスの両方から本番環境に移行するのに適しています。視点?ステージングマシンが1つだけで、多くの開発者がいて、そこにコードがQAされる場合、多くの開発者の変更がサインオフを待機している可能性があるため、トランクからどのように展開できますか。
他の人がこれにどのように取り組んだか聞いてみたいと思いますか?