“Deployment Is Not A 4 Letter Word” - The Screencast!

I managed to make a screencast of the second talk I gave at Open Web Vancouver 2008 about application deployment. I had hoped to make a screencast of my CakePHP console talk, but I messed something up at my end and all I have is the audio from it. Not the best thing when you are doing a demo. However, the conference was also recording talks so hopefully they will have a copy of it for you to see as well.

The talk was well-attended, which is a nice boost for the ego and although I spoke too fast (as usual) I think I got all my points across quite nicely.

Article Tags >> || ||

11 Responses to this post.

  1. Matt's Gravatar

    Posted by Matt on 17.04.08 at 8:43 am

    Thanks for the video! Quick question: say you want to modify a controller. Do you assume that your local dev copy is in sync with the staging server’s copy? Or do you pull it down from the staging server? Or check it out from SVN? I’m trying to grasp a general flow of how updates should work. I’ve worked on several largish projects, but never with any sort of version control - trying to fix that and do it right for upcoming projects. A quick step by step overview of how you do this would be great. Any books/resources you can recommend on version control systems would be appreciated as well.

  2. Chris Hartjes's Gravatar

    Posted by Chris Hartjes on 17.04.08 at 8:43 am

    @Matt

    A typical work flow for me is dev->staging->production, with pushes to staging and production coming from version control. Never go back the other way, as there lies madness.

    If I want to work on something (like, say, a controller) it’s easy because I already have the latest version checked out from version control. I work on it, test it, commit the changes and then I use capistrano to deploy to staging and/or production.

    In terms of resources, there is lots of stuff out there on the net. If you want books, I highly recommend “Pragmatic Version Control with Subversion” or Travis Swicegood’s upcoming “Pragmatic Version Control with Git”.

    Hope that helps

  3. Matt's Gravatar

    Posted by Matt on 17.04.08 at 8:43 am

    Chris, this is excellent, thank you!

    Just one more question - do you have an SVN server setup that is independent of all dev, staging, and production environments?

  4. Chris Hartjes's Gravatar

    Posted by Chris Hartjes on 17.04.08 at 8:43 am

    @Matt

    Well, that depends on available resources. You *can* have an SVN repository on a server that is all by itself, but it’s not a requirement really. Where I work, the SVN repositories are on a server that also hosts some sites in production. The important thing is to have the repository SOMEWHERE. :)

  5. Matt's Gravatar

    Posted by Matt on 17.04.08 at 8:43 am

    Chris - you rock to unknown depths. I think my brain is making the necessary connections as to how this all fits together now. (As I typically work alone, this never came into play before… but the bigger projects I did years ago are a freakin’ headache now, lesson learned.) Thanks!

  6. Andreas's Gravatar

    Posted by Andreas on 17.04.08 at 8:43 am

    Thanks for a great presentation! I’m gonna go and ask for some resources to install subversion on one of the servers on my internship. They’re storing everything in a public windows share at the moment.

  7. Chris Meller's Gravatar

    Posted by Chris Meller on 17.04.08 at 8:43 am

    Great talk. Deployment has really been a gap between my version control and production thus far, so it was perfectly timed.

    I would love to see some more blog-fodder about DB versioning and Capistrano deployment. Any points of advice or wisdom that you’ve learned along the way would be great…

  8. Graham's Gravatar

    Posted by Graham on 17.04.08 at 8:43 am

    I know there are various free hosted SVN services out there, but if you are not developing an OSS application then you are normally not allowed to make the source code private and are normally charged a fee.

    I have just started using a service hosted by Assembla (www.assembla.com) and am very impressed with it. The free service allows 500MB space and Trac, etc. PLUS you can make the project private.

    Well worth a look but don’t forget about CakeForge!

    (usual disclaimer about not being affiliated applies)

  9. Brendon Kozlowski's Gravatar

    Posted by Brendon Kozlowski on 17.04.08 at 8:43 am

    Chris, thanks for making your talk available! In your talk you discussed a previous job where the one in charge of the repositories forced commits to pass certain tests. I’m not totally familiar with SVN beyond simple commit/checkout but is that possible to say, for instance, use CakePHP’s SimpleTest logic on modifications to code before allowing a commit? I think out of your entire talk, that had me the most intrigued and most confused both at the same time. :)

    Hopefully the red-bean svn book has some information about that.

    Those of you looking for a book on SVN and don’t want to hurt trees: http://svnbook.red-bean.com/

  10. Chris Hartjes's Gravatar

    Posted by Chris Hartjes on 17.04.08 at 8:43 am

    @Brendon

    The key here is understanding that you can do pre-commit and post-commit things with most modern version control systems. In your case, you’re talking about a pre-commit hook that runs your tests and if you see any failures in the output to not allow that commit.

    http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.ref.reposhooks

  11. Brendon Kozlowski's Gravatar

    Posted by Brendon Kozlowski on 17.04.08 at 8:43 am

    Thanks, Chris! That’s exactly what I was after. I wouldn’t have known where to look in the red-bean book either, so thanks for the link too!

Respond to this post

Want to advertise on this blog? Send email to chartjes@littlehart.net
GTcars Canadian Car Audio TurboDodge Car For Sale Sign
Audi Forum Mustang Forum Dodge Intrepid Miata Turbo
GTscene Pontiac Bonneville


@TheKeyboard is Digg proof thanks to caching by WP Super Cache!