SlideShare ist ein Scribd-Unternehmen logo

Deployment mit Webistrano

Vortrag am 2. April 2009 bei Münchner Ruby on Rails User Group (http://www.munich-on-rails.com)

1 von 19
Downloaden Sie, um offline zu lesen
begin
    Webistrano.new
    ...
Deployment von Rails-Anwendungen
         mit Webistrano

                      Daniel Mattes, 2. April 2009
Über mich
      Daniel Mattes
             Angestellter bei der BurdaWireless GmbH
             Arbeitet seit 2007 mit Rails


      email: dm@actsasblog.de

      http://www.xing.com/profile/Daniel_Mattes2
      http://www.actsasblog.de



02.04.2009                    Webistrano               2
Agenda
      Deploy ohne Hilfsmittel

      Deploy mit Capistrano
      = Grundlage von Webistrano
             Installation, Konfiguration, Befehle und Ablauf

      Deploy mit Webistrano
             Überblick, Installation, Konfiguration
             Live-Beispiel
             Plugin: Webistrano Privileges

02.04.2009                       Webistrano                    3
Problemstellung




02.04.2009    Webistrano   4
Deploy ohne Hilfsmittel
      Beispiel
             Verbinde per SSH auf Server
             SVN Update
             Anpassungen durchführen
             Neustart des Webservers
      Probleme
             Rollback?
             Manuelles Ausführen von wiederkehrenden
             Tasks (z. B. rake makemo,…)
             Aufwendig & Fehleranfällig
02.04.2009                    Webistrano               5
Capistrano - Überblick
      Gem zur Durchführung von
      automatisierten Deploys

      Installation
             gem install capistrano
             capify .

      Konfiguration in config/deploy.rb
             Variablen (Server, Repository,…)
             Roles (App, Web, DB)
             Tasks, Namespaces
02.04.2009                     Webistrano       6

Recomendados

Mainframe-Zugriff via Java
Mainframe-Zugriff via JavaMainframe-Zugriff via Java
Mainframe-Zugriff via JavaFrank Rahn
 
Rhomobile
RhomobileRhomobile
RhomobileJan Ow
 
Web-Automatisierung mit WWW::Mechanize
Web-Automatisierung mit WWW::MechanizeWeb-Automatisierung mit WWW::Mechanize
Web-Automatisierung mit WWW::MechanizeThomas Fahle
 
WP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für WordpressWP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für Wordpressfrankstaude
 
Gearman - Distributed Job System
Gearman - Distributed Job SystemGearman - Distributed Job System
Gearman - Distributed Job SystemMayflower GmbH
 
AdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveAdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveKlaus Bild
 
MK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas HahnMK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas HahnVerein FM Konferenz
 
Anleitung zur Installation von Tomcat für Opencms
Anleitung zur Installation von Tomcat für OpencmsAnleitung zur Installation von Tomcat für Opencms
Anleitung zur Installation von Tomcat für OpencmsStefan Hilpp
 

Más contenido relacionado

Was ist angesagt?

TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)Marcus Schwemer
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerLenz Grimmer
 
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...Klaus Bild
 
Admincamp 2016 - Securing IBM Collaboration with TLS (German)
Admincamp 2016 - Securing IBM Collaboration with TLS (German)Admincamp 2016 - Securing IBM Collaboration with TLS (German)
Admincamp 2016 - Securing IBM Collaboration with TLS (German)Novakenstein
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Jonathan Weiss
 
Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Jonathan Weiss
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanB1 Systems GmbH
 
IBM Sametime 9.0.1 "basic" (aka. limited use)
IBM Sametime 9.0.1 "basic" (aka. limited use)IBM Sametime 9.0.1 "basic" (aka. limited use)
IBM Sametime 9.0.1 "basic" (aka. limited use)Novakenstein
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress MultisiteWalter Ebert
 
JSUG - Bazaar by Florian Motlik
JSUG - Bazaar by Florian MotlikJSUG - Bazaar by Florian Motlik
JSUG - Bazaar by Florian MotlikChristoph Pickl
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch CachingAOE
 
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Informatik Aktuell
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Florian Holzhauer
 
Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)die.agilen GmbH
 

Was ist angesagt? (17)

TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
 
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
 
Einsteiger Workshop
Einsteiger WorkshopEinsteiger Workshop
Einsteiger Workshop
 
Admincamp 2016 - Securing IBM Collaboration with TLS (German)
Admincamp 2016 - Securing IBM Collaboration with TLS (German)Admincamp 2016 - Securing IBM Collaboration with TLS (German)
Admincamp 2016 - Securing IBM Collaboration with TLS (German)
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
 
Dockerize It - Mit apex in die amazon cloud
Dockerize It - Mit apex in die amazon cloudDockerize It - Mit apex in die amazon cloud
Dockerize It - Mit apex in die amazon cloud
 
Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
IBM Sametime 9.0.1 "basic" (aka. limited use)
IBM Sametime 9.0.1 "basic" (aka. limited use)IBM Sametime 9.0.1 "basic" (aka. limited use)
IBM Sametime 9.0.1 "basic" (aka. limited use)
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress Multisite
 
JSUG - Bazaar by Florian Motlik
JSUG - Bazaar by Florian MotlikJSUG - Bazaar by Florian Motlik
JSUG - Bazaar by Florian Motlik
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch Caching
 
Typo3 und Varnish
Typo3 und VarnishTypo3 und Varnish
Typo3 und Varnish
 
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012
 
Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)
 

Ähnlich wie Deployment mit Webistrano

Web-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnishWeb-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnishSpeedPartner GmbH
 
Entwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantEntwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantB1 Systems GmbH
 
Deploy Magento Shops with Capistrano v3
Deploy Magento Shops with Capistrano  v3Deploy Magento Shops with Capistrano  v3
Deploy Magento Shops with Capistrano v3Roman Hutterer
 
Django & Buildout
Django & BuildoutDjango & Buildout
Django & Buildoutzerok
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
 
Web-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnishWeb-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnishSpeedPartner GmbH
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondUlrich Krause
 
DACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDNUG e.V.
 
JBoss AS / EAP Clustering
JBoss AS / EAP  ClusteringJBoss AS / EAP  Clustering
JBoss AS / EAP Clusteringhwilming
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratorenIcsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratorenICS User Group
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Servergedoplan
 
Enterprise Java Batch mit Spring
Enterprise Java Batch mit SpringEnterprise Java Batch mit Spring
Enterprise Java Batch mit Springdenschu
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführunggedoplan
 
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...kaftanenko
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittdominion
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenHendrik Lösch
 

Ähnlich wie Deployment mit Webistrano (20)

Web-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnishWeb-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnish
 
Entwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantEntwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit Vagrant
 
Deploy Magento Shops with Capistrano v3
Deploy Magento Shops with Capistrano  v3Deploy Magento Shops with Capistrano  v3
Deploy Magento Shops with Capistrano v3
 
Django & Buildout
Django & BuildoutDjango & Buildout
Django & Buildout
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
Web-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnishWeb-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnish
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
 
DACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdf
 
JBoss AS / EAP Clustering
JBoss AS / EAP  ClusteringJBoss AS / EAP  Clustering
JBoss AS / EAP Clustering
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratorenIcsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
 
FLOW3-Workshop F3X12
FLOW3-Workshop F3X12FLOW3-Workshop F3X12
FLOW3-Workshop F3X12
 
Enterprise Java Batch mit Spring
Enterprise Java Batch mit SpringEnterprise Java Batch mit Spring
Enterprise Java Batch mit Spring
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführung
 
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf Steroiden
 

Deployment mit Webistrano

  • 1. begin Webistrano.new ... Deployment von Rails-Anwendungen mit Webistrano Daniel Mattes, 2. April 2009
  • 2. Über mich Daniel Mattes Angestellter bei der BurdaWireless GmbH Arbeitet seit 2007 mit Rails email: dm@actsasblog.de http://www.xing.com/profile/Daniel_Mattes2 http://www.actsasblog.de 02.04.2009 Webistrano 2
  • 3. Agenda Deploy ohne Hilfsmittel Deploy mit Capistrano = Grundlage von Webistrano Installation, Konfiguration, Befehle und Ablauf Deploy mit Webistrano Überblick, Installation, Konfiguration Live-Beispiel Plugin: Webistrano Privileges 02.04.2009 Webistrano 3
  • 5. Deploy ohne Hilfsmittel Beispiel Verbinde per SSH auf Server SVN Update Anpassungen durchführen Neustart des Webservers Probleme Rollback? Manuelles Ausführen von wiederkehrenden Tasks (z. B. rake makemo,…) Aufwendig & Fehleranfällig 02.04.2009 Webistrano 5
  • 6. Capistrano - Überblick Gem zur Durchführung von automatisierten Deploys Installation gem install capistrano capify . Konfiguration in config/deploy.rb Variablen (Server, Repository,…) Roles (App, Web, DB) Tasks, Namespaces 02.04.2009 Webistrano 6
  • 7. Capistrano - Konfiguration Variablen set :application, quot;foobarquot; set :deploy_to, quot;/www/foobar-cap/quot; set :deploy_via, :checkout set :keep_releases, quot;10quot; set :password, quot;apfelbaumquot; set :rails_env, quot;productionquot; set :repository, quot;svn+ssh://subversion/foobar/#{repo_path}quot; set :runner, quot;deployquot; set :scm, quot;subversionquot; set :scm_username, quot;deployquot; set :use_sudo, true set :user, quot;deployquot; 02.04.2009 Webistrano 7
  • 8. Capistrano - Konfiguration Roles role :app, quot;live-server.bw.comquot; role :db, quot;database-server.bw.comquot;, {:no_release=>true, :primary=>true} role :web, quot;live-server.bw.comquot; Tasks, Namespaces namespace :deploy do task :after_update_code, :roles => :app do run quot;cd #{current_release}; rake makemoquot; cleanup() end end 02.04.2009 Webistrano 8
  • 9. Capistrano - Verzeichnisstruktur Bei jedem Deploy ein neues Verzeichnis mit aktuelle Zeitstempel Logfiles, Pids,… Zeigt auf aktuelles Release 02.04.2009 Webistrano 9
  • 10. Capistrano - Befehle Initial Deploy cap deploy:setup cap deploy:check http://www.capify.org/getting-started/from-the- beginning/ Nicht mehr empfohlen: cap deploy:cold Durchführen eines Deploys cap deploy 02.04.2009 Webistrano 10
  • 11. Capistrano - Befehle Deploy mit Migration cap deploy:migrate Panik!!! Rollback cap deploy:rollback Anzeige aller Tasks cap -T 02.04.2009 Webistrano 11
  • 12. Webistrano Webanwendung zur Durchführung von Capistrano Deploys Entwickelt von Verwaltung von Jonathan Weiss Projekten und Stages (Peritor GmbH) Hosts Recipes (Tasks) Users http://labs.peritor.com/webistrano 02.04.2009 Webistrano 12
  • 13. Webistrano - Vorteile Übersichtliche Verwaltung von mehreren Projekten und unterschiedlichen Stages (z. B. Live-Server, Test-Server,…) Alle Möglichkeiten wie mit Capistrano, wie z. B. die Änderung und Einbindung von Tasks Userverwaltung E-Mail Benachrichtigung bei durchgeführtem Deploy Verlauf 02.04.2009 Webistrano 13
  • 14. Webistrano - Installation Anforderungen Ruby >= 1.8.4 Rake SQL-Datenbank Restliche Komponenten im Projekt enthalten http://github.com/peritor/webistrano/tree/master git clone git://github.com/peritor/webistrano.git Konfiguration config/webistrano_config.rb database.yml 02.04.2009 Webistrano 14
  • 15. Webistrano - Konfiguration WebistranoConfig = { # secret password for session HMAC :session_secret => '7asdfasdf4d78c2d555c5430809bc7ccc00de193a763e2c28b2ae0cbbd9a7b 7f4c', # SMTP settings for outgoing email :smtp_delivery_method => :sendmail, :smtp_settings => { :domain => quot;example.comquot;, :user_name => quot;usernamequot;, :password => quot;passwdquot;, :authentication => :login }, # Sender address for Webistrano emails :webistrano_sender_address => quot;webistrano@bw.comquot;, # Sender and recipient for Webistrano exceptions :exception_recipients => quot;webistrano@bw.comquot;, :exception_sender_address => quot;webistrano@bw.comquot; } 02.04.2009 Webistrano 15
  • 17. Erweiterung / Privilegien Plugin zur Rechteverwaltung von Webistrano Projekten ruby script/plugin install git://github.com/haitham/webistrano_privile ges ruby script/generate privileges_extensions 02.04.2009 Webistrano 17
  • 18. Quellen http://www.capify.org/ http://labs.peritor.com/webistrano http://www.slideshare.net/jweiss/deploying -and-monitoring-rails-presentation http://github.com/haitham/webistrano_privil eges 02.04.2009 Webistrano 18
  • 19. ... rescue TimeLimitExceeded puts quot;...habe fertig!quot; puts quot;danke ;-)quot; end 02.04.2009 Webistrano 19