Deployment presentation
Upcoming SlideShare
Loading in...5

Deployment presentation






Total Views
Views on SlideShare
Embed Views



1 Embed 2 2



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Deployment presentation Deployment presentation Presentation Transcript

  • Deploying • Corey Purcell • @coreypurcell • Thanks to Daniel CarperFriday, June 3, 2011
  • About Me Penn United Technologies We make stuff, like things you can touch!Friday, June 3, 2011
  • My Environment • Oracle • All internal applications (currently) • Low traffic • Managing deployment with MoonshineFriday, June 3, 2011
  • Moonshine Moonshine is an opensource configuration management and deployment system that follows the Rails way, simplifying server configuration, dependency management, and Rails application deployment, using Ruby and Puppet.Friday, June 3, 2011
  • ruby script/plugin install git:// ruby script/generate moonshine #Editing Moonshine.yml :ruby: ree187 :application: moonshine-test :deploy_to: /var/applications/moonshine-test :repository: :domain: :shared_config: - config/database.ymlFriday, June 3, 2011
  • capify . #deploy.rb server "rails-box", :app, :web, :db, :primary => true cap deploy:setup cap deployFriday, June 3, 2011
  • The Good • Capistrano Based • Plugins • Puppet based • 15 minutes to build a serverFriday, June 3, 2011
  • The Ugly (to me) • Capistrano Based • Templates are stored in app/manifests • Slow to deploy (5-10 minutes) • Mixes deployment with server managmentFriday, June 3, 2011
  • Git Pusshuten A Git-based application deployment tool that allows you to define your environment by utilizing modules and provision your server with basic deployment needsFriday, June 3, 2011
  • gem install gitpusshuten ten initialize #creates .gitpusshuten/ pusshuten Hello Git Pusshu Ten, :staging, :production do configure do |c| c.user = gitpusshuten c.ip = # c.password = my-password # c.passphrase = my-ssh-passphrase # c.port = 22 c.path = /var/applications/ end modules do |m| m.add :bundler m.add :active_record m.add :passenger # m.add :nginx m.add :apache # m.add :nanoc m.add :rvm # m.add :mysql # m.add :redis end endFriday, June 3, 2011
  • ten user install-root-ssh-key to staging #enter root password ten rvm install to staging # 1.9.2 ten passenger install to staging #errors!!!!!!! ten rvm install to staging ten passenger install to staging # select apache ten user add to staging #choose passwordFriday, June 3, 2011
  • #edit vhost on your local machine, .gitpusshuten/apache/staging.vhost <VirtualHost *:80> ServerName pusshuten.local ServerAlias www.pusshuten.local DocumentRoot /var/applications/hello_git_pusshu_ten.staging/public <Directory /var/applications/hello_git_pusshu_ten.staging/public> AllowOverride all Options -MultiViews </Directory> SetEnv LD_LIBRARY_PATH /opt/oracle/instantclient_11_2 SetEnv TNS_ADMIN /opt/oracle/instantclient_11_2/network </VirtualHost>Friday, June 3, 2011
  • ten push branch master to staging Done! ten active_record upload_config to staging ten apache upload-vhost to stagingFriday, June 3, 2011
  • Git Pusshu Ten [Aliases] gitpusshuten, heavenly, ten [Commands] active_record [Module] Active Record commands. apache [Module] Apache commands. bundler [Module] Bundler commands. delete Deletes the application of the specified environment. help Displays the command list, or the help screen for a specific command. initialize Initializes Git Pusshu Ten with the working directory. passenger [Module] Phusion Passenger commands. push Pushes a branch, tag or ref to the specified environment. remote Performs a command on the remote server for the specified environment from the application root. rvm [Module] Ruby Version Manager (RVM) commands. user Interacts with users, based on the <app_root>/.gitpusshuten/config.rb file. version Displays the current version of Git Pusshu Ten [Command Specific Help] heavenly help <command>Friday, June 3, 2011
  • The Good • separation of deployment from code • deploy from any branch, ref, tag • server setup in 15-30 mins • deploys take around 30 secondsFriday, June 3, 2011
  • The Ugly • Not that many modules • Not very activeFriday, June 3, 2011
  • Friday, June 3, 2011
  • Friday, June 3, 2011
  • Thanks • • http://gitpusshuten.comFriday, June 3, 2011
  • Shameless Plug 5K Run for Epilepsy Foundation - June 25 Please Donate.Friday, June 3, 2011