Team development and deployment workflow

Topics: General, Installing Orchard
Developer
Mar 5, 2012 at 2:24 PM

As a team we develop an Orchard website (currently only one tenant and SQL CE database) with several custom modules as subrepos in the Hg repository. What is a tried and tested workflow for development, database management and deployment of such a configuration?

We currently have the following idea:

  • Have (at least) two branches: default and dev.
  • In default every commit corresponds to a code drop to live and we'll make everyday changes in dev (or more likely in some feature branch).
  • Deployment will be as following:
    1. Test every code change that was made in dev with some database copied from live (so with any snapshot of the live DB).
    2. When everything seems to work, drop an App_Offline.htm to live.
    3. Copy the latest live database to dev and apply migrations.
    4. Finally test everything.
    5. If succeeded, merge to default.
    6. Drop the code and database now in default to live.

Ideally the work between point 2 and 6 takes around ten minutes (just running migrations and copying the site to the server).

What do you think? Have you got a trusted workflow?

Thanks in advance!

Developer
Mar 6, 2012 at 8:03 PM

Now that we finally have WebDeploy installed that ten minutes could be actually less for deployment.