RubyStack: the easiest way to deploy Ruby on Rails

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

    Favorites, Groups & Events

    RubyStack: the easiest way to deploy Ruby on Rails - Presentation Transcript

    1. RubyStack: the easiest way to  deploy Ruby on Rails      
    2. Who is danoo ... ? • Daniel Liszka, Polish • started with Linux: 10 years ago • Linux security labs, Linux Security final project in high  school • studied at Silesian University of Technology, Gliwice • organized conference Open Source in Organization –  Interinfo_2004, Gliwice    
    3. I met www.BitRock.com And  everything really started ...    
    4. Meet BitRock           • Founded in 2003, privately held with offices in Seville, Spain and  San Francisco, USA • Develops packaging, installation and update tools to provide a  complete Open Source Application Deployment solution  • Clients span the globe, and include Fortune 100 corporations,  governments, educational institutions, and the leading open  source companies  • Recent honors include Red Herring 100 Winner and Red Herring  Open Source 20 Winner OPEN SOURCE 20    
    5. www. BitRock.com • BitRock makes open source software easier to use by  providing a complete automated solution for Open  Source Application Deployment. • Makes it fun • brings it to people     
    6. Ruby • “Ruby is a dynamic, object­oriented programming  language. It combines syntax inspired by Perl with  Smalltalk­like object­oriented features, and also shares  some features with Python, Lisp, Dylan, and CLU. Its  official implementation is free software written in C.” • Beautiful • FUN !!!    
    7. Ruby # In an object instance variable (denoted with '@'),  remember a block. def remember(&a_block)         @block = a_block end   # Invoke the above method, giving it a block that takes a  name. remember {|name| puts "Hello, #{name}!"}   # When the time is right (for the object) ­­ call the  closure! @block.call("Jon") # => "Hello, Jon!"    
    8. Ruby on Rails • “web application framework that aims to increase the  speed and ease with which database­driven web sites  can be created and offers skeleton code frameworks  (scaffolding) from the outset. Often shortened to Rails,  or RoR, Ruby on Rails is an open source project  written in the Ruby programming language and  applications using the Rails framework are developed  using the Model­View­Controller design pattern” • Beautifull • FUN !!!    
    9. It is my story • We decided to start with RoR • Lovely ! • me as a developer, I need development environment • My team needs development environment – it would  be cool if both are the same  • My graphics designer needs it as well  • They have different operating systems, different  requirements (GUI,text mode,...) and skills  • I want to use several environments on one machine     
    10. It is my story • DEMO day is coming !!! • deployment • scale your application ­ > several servers • deployment on many servers  – chroot – Vmware, XEN – Solaris Zones – Amazon EC2    
    11. We need • Ruby and Ruby Gems • RoR • MySQL, SQLite • Apache • Subversion • libraries    
    12. We need at least that . . . (RubyStack Features) • completely self­contained • re­locatable • not interfere with existing software • works on different operating systems  • easy to install    
    13. TOOLS    
    14. RubyStack Installer • created using BitRock InstallBuilder • easy to use • multiplatform  • native look and feel • GUI, text and unattended modes • Platforms: Linux, Mac OS X, Windows, Solaris, ... • No External Dependencies    
    15. Apart from that .... • Desktop Integration • RPM and DEB generation (beta) • Optimized : BitRock installers are optimized in size and  speed • Ease of Development • Support for Qt® GUI Frontend • Uninstall Functionality • LZIP • Multiple Language Support    
    16. InstallBuilder (RubyStack Installer)    
    17. InstallBuilder (RubyStack Installer)    
    18. InstallBuilder (RubyStack Installer)    
    19. InstallBuilder (RubyStack Installer)    
    20. Unattended mode Many different options: # rubystack­1.0­linux­installer.bin ­­mode unattended ­­ prefix /secure/tmp/ruby_unatended ­­rubystack_version  production ­­apache_server_port 4568 ­­mysql_port 4321  ­­mysql_db_name blabla    
    21. Take a look at Capistrano tool (capify.org)   desc "Install RubyStack"   task :install do     run "! test ­d #{rubystack_path}"     install_string = "./#{rubystack_binary}          ­­mode unattended          ­­prefix #{rubystack_path}          ­­rubystack_version production          ­­apache_server_port #{rubystack_apache_port}          ­­mysql_port #{rubystack_mysql_port}          ­­mysql_db_name #{application}          ­­mysql_db_username #{application}­user"   if rubystack_apache_port < 1024       sudo install_string     else       run install_string     end     run "echo ". #{rubystack_path}/scripts/setenv.sh" >> ~/.bashrc"   end    
    22. Take a look at Capistrano tool (capify.org) • “Great for automating tasks via SSH on remote servers,  like software installation, application deployment,  configuration management, ad hoc server monitoring,  and more. • Ideal for system administrators, whether professional or  incidental. • Easy to customize. • Easy to extend. Capistrano is written in the Ruby”    
    23. Conclusions  (for the RubyStack Installer) ­ let's start demo      
    24. It is not the end  ­ do you remember the components we need ? ­ and very specific features ? (completely self­contained,re­locatable not interfere with existing software)      
    25. RubyStack Components zlib version: 1.2.3 ncurses version: 5.6 libiconv version: 1.9.2 readline version: 5.2 openssl version: 0.9.7l ruby version: 1.8.6 sqlite version: 3.3.6 rubygems version: 0.9.4 httpd version: 2.2.4 rake version: 0.7.3 mysql version: 5.0.45 rails version: 1.2.3 libpng version: 1.2.10 fastthread version: 1.0 jpegsrc version: v6b mongrel version: 1.0.1 freetype version: 2.3.4 rmagick version: 1.15.6 libwmf version: 0.2.8.4 mongrel_cluster version: 1.0.2 ghostscript version: 8.56 gruff version: 0.2.8 ImageMagick version: 6.3.4 capistrano version: 2.0.0 expat version: 2.0.0 neon version: 0.25.5 subversion version: 1.4.4    
    26. Lets take a look inside • Building & testing system • Integration • logic inside XML files • Wrappers ?!?    
    27. Lets take a look inside • Examples: svn and ruby binaries and wrappers • Lets try to run them • LD_LIBRARY_PATH ­> wrappers • what about the shebang line • rubyconsole & rubystackctl.sh    
    28. Conclusions ­ RubyStack is great platform ­ not finished yet ­ but already tested in production      
    29. Questions ???      
    30. Thank you ! Daniel Liszka danoo@BitRock.com      

    + adorepumpadorepump, 1 month ago

    custom

    201 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 201
      • 201 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 4
    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