Capistrano

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Capistrano - Presentation Transcript

    1. Capistrano Everywhere A brief overview of the possibilities Kenneth Kalmer www.opensourcery.co.za
    2. Capistrano is Great for deploying any application, not just ● Rails Great for probing multiple servers quickly ● Automating long tasks ● Good for your health ● On the fly maintenance ● Much much more... ●
    3. Problems with FTP Nice progress bars ● Uploading a local copy, not a clean revision ● from VCS Why FTP the same code to more than one ● server? How do you rollback a vanilla FTP upload? ● What if your connection timeouts in the middle ● of the upload? Everyone does it differently! ●
    4. Successful Deployment Recipes Well defined process with consistent results ● Error handling and rollbacks ● Clear role definition (even on one server) ● Complimentary tasks ● Separation between application and user ● generated data (uploads, etc...) Leverage complimentary technologies (rake) ● Individual users deploy same project ●
    5. Rails Highlights Plugins can extend deployment recipes ● Easy multi stage deployments ● Remote console access ● Remote dependencies ● Rubygems – Commands – Run tests on deployment ●
    6. But I use PHP! Conceptually the same ● Update the DocumentRoot to serve out of the ● “current” symlink Update Options to have FollowSymlinks ● Add blank “deploy:restart”, “deploy:start” and ● “deploy:stop” tasks to Capfile Get a host that will give you shell access ● You gain better structure and discipline! ● Switch to Ruby ●
    7. Custom Deployment Recipes “deploy” namespace provided by deploy.rb ● Can write custom deployment steps as long as: ● Process is well defined and repeatable – Process is well defined and repeatable – Errors are handled – Deploy Xen management scripts across several ● hosts Update backup scripts across several hosts ● Deploy SSH keys across several hosts ●
    8. Complimentary Deployment Tasks Using rake to ● Download copies of the production database – Download copies of the production logs – Minify assets – Update external dependencies (local copy of ● Google Analytics JavaScript) Disable monit during deployment ●
    9. System Administration Inspect the health of mail queues ● $ cap mail:queues   * executing `mail:queues'   * executing \"postqueue ­p | tail ­n 1\"     servers: [\"192.168.2.15\", \"192.168.2.16\", \"192.168.2.17\", \"192.168.2.18\",  \"192.168.2.14\"] # ADDITIONAL OUTPUT REMOVED Mail queues on servers at 2008­05­29 00:38:10 192.168.2.15 ­­ 4354 Kbytes in 44 Requests. 192.168.2.16 ­­ 4635 Kbytes in 72 Requests. 192.168.2.14 ­­ 0 Kbytes in 1 Request. 192.168.2.17 ­­ 9079 Kbytes in 24 Requests. 192.168.2.18 ­­ 13168 Kbytes in 1 Request.
    10. More for administrators Check uptime ● Check memory usage ● Check disk usage ● Search log files ● Leverage sudo ● On the fly audits ● Restart services ●
    11. Things to remember It's a Linux server on the other side, think of ● Capistrano as an automated putty session to multiple hosts It is written in Ruby, so it can be bent to your will ● Default deployment recipes are not cast in ● stone, they just follow good principles It's not just for deployments, deployments was ● the birth of Capistrano
    12. Q&A
    13. Thank You www.opensourcery.co.za
    SlideShare Zeitgeist 2009

    + Kenneth KalmerKenneth Kalmer Nominate

    custom

    508 views, 1 favs, 0 embeds more stats

    A presentation on Capistrano I delivered at the Tsh more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 508
      • 508 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 10
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories