Rules to Better Websites - Deployment

Hold on a second! How would you like to view this content?
Just the title! A brief blurb! Gimme everything!
  1. Do your developers deploy manually?

    ​We strongly believe that this process should all be automated and painless. Even the receptionist should be able to make a grammatical change on the website and be able to deploy it.

    We use TFS gated check-ins to do the deployment for us. When a developer checks there changes into TFS they are prompted with a gated check-in screen.

    Build screenFigure: "Build" screen

    The developer clicks the "Build changes" button and waits for the build to complete. This process needs to take no longer than 2 minutes as it just makes cranky developers if this takes too long.
    The code is put into a TFS shelf, compiled, had all the unit tests run against the code and then deployed to the internal webserver if successful.

    Once this process has completed successfully, the developer will get presented with the ability to "reconcile" their local copy of the files as they have now been successfully checked-in to TFS.

    Build screenFigure: Click on the "Reconcile" button to update your local files

    If the developer does not have Build notifications on there local computer then this step can also be easily performed via the Build Explorer in Visual Studio.

    Build screenFigure: Right click on your last successful build and choose "Reconcile Workspace"

    The www.ssw.com.au website also queues a build process that deploys the changes to our Australian staging server. A developer can then use Octopus deploy​ to push it live to our Australian and US production sites.

    The process that syncs to our external servers is very quick. Only the changes in TFS since the last deployment are sent. This typically takes under 10 seconds to complete.

    ​If the build fails then no changes would get pushed to staging and developers should swarm to fix the build.

    2017-04-11_10-13-08.png

    ​​Figure: See the build failing and who requested it




  2. Do you deploy to Azure from Team Foundation Service?

    Deploying your website to an Azure Web Site is the easiest way to get continuous deployment working if you’re using Team Foundation Service.