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
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