Continuous Deployment

Continuous Deployment is the natural progression of Continuous Integration. This site (a4word.com) provides a simple example whereby after each commit to the database, a suite of tests are run, the application is converted to static html (but maintain the .php extension so internal links work as expected), and the result is deployed to S3.

The script CD portion of the script, simply 'updates' the git repository on the remote server

    #!/bin/bash
    echo 'About to update a4word.com'
    ssh deployer@a4word.com 'cd /home/deployer/apps/portfolio; git pull --rebase'
    echo 'Done!'
    

On each push, the message would look similar to:

    $ git push
    Counting objects: 13, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (8/8), done.
    Writing objects: 100% (8/8), 708 bytes, done.
    Total 8 (delta 6), reused 0 (delta 0)
    remote: About to update a4word.com
    remote: From git.10xdevelopers.com:~/local/gitrepos/portfolio
    remote:    9359879..b0c851b  master     -> origin/master
    remote: First, rewinding head to replay your work on top of it...
    remote: Fast-forwarded master to b0c851b101ce97ff24c009937e6a9c1241814714.
    remote: Done!
    To ssh://deployer@git.10xdevelopers.com:portfolio.git
       5a8fa34..b0c851b  master -> master