Group: Ruby on Rails

Forums > Forum "Betrieb und Deployment" > Article thread "Deployment auf verschiedenen Servern"

Article thread - Articles 1-6 out of 6

  • Deployment auf verschiedenen Servern 29 Oct 2009, 3:01 pm

    Hallo,

    ich habe eine Frage bzgl des Deployments auf verschiedenen Servern. Für eine Webapplikation haben wir für einen speziellen Einsatz einen eigenen Server angemietet. Dieser soll mit dem normalen Deployment mitversorgt werden. Ich möchte das aber ein wenig steuern. Kann man irgendwie angeben, auf welchen Server man ein spezielles Rollout machen möchte?
    Des weiteren müsste ja für den neuen Server die Grundeinrichtung erst einmal gemacht werden. Wenn ich meine deploy.rb um den neuen Server erweitere und dann ein "cap deploy:setup" und "cap deploy:cold" ausführe, wird das dann auf beiden Servern getan? Auch sind da andere Zugangsdaten erforderlich.
    Stand jemand schon einmal vor solch einem Problem oder kennt eine geeignete Anleitung dafür? DIe Dokus, die ich bisher hatte, beschränkten sich gern immer nur auf einen Server und erläuterten keine Details.

    Danke für viele schnelle Antworten im voraus.

    Daniel
  • Re: Deployment auf verschiedenen Servern 02 Nov 2009, 1:38 pm

    Hallo Daniel,

    dein Problem kann mit capistrano-ext gelöst werden, zu finden unter
    http://github.com/jamis/capistrano-ext.

    Die Erweiterung erlaubt verschiedene Servereinstellungen im Deployment.

    Nach Installation der Erweiterung mit

    gem install capistrano-ext

    kann man im config/deploy/ Verzeichnis verschiedene Server zu konfigurieren. Erstelle dazu
    die Dateien:

    config/deploy/production.rb - Für deine aktuellen Serverinformationen
    config/deploy/beta.rb - Für deinen anderen Server

    In beta.rb kann jetzt beispielsweise folgendes rein:

    role :app, "beta.deinserver.de"
    role :web, "beta.deinserver.de"
    role :db, "beta.deinserver.de

    In die production.rb müssen deine bisherigen Serverdaten eingetragen werden, weil die Serverinformationen in deploy.rb bei der Verwendung von capistrano-ext raus müssen.

    Jetzt kann man mit

    cap beta deploy:cold

    den Beta-Server aufsetzen. Um die Fehlermeldung bei cap deploy:cold zu umgehen, belegt man die Variable

    set :default_stage, production

    im der Hauptdatei deploy.rb. Jetzt sollten die cap-Befehle wieder wie gewohnt funktionieren.

    Viele Grüße,
    Lars
  • Re^2: Deployment auf verschiedenen Servern 03 Nov 2009, 07:55 am

    Hallo,

    danke, das ist sicher das, was ich gesucht habe. Habe gestern schon einmal rein geschaut, konnte aber mit den Angaben noch nicht zum Ziel kommen.
    Wenn ich

    $ cap beta deploy:cold

    aufrufe, dann bekomme ich eine Fehlermeldung

    the task `beta' does not exist.

    Muss ich eine weitere Datei anpassen, damit es mit capistrano-ext funktioniert?

    Danke, Daniel
  • Re^3: Deployment auf verschiedenen Servern 03 Nov 2009, 11:00 am

    Hallo Daniel,

    es wird noch die Zeile:

    require 'capistrano/ext/multistage'

    am Start der config/deploy.rb Datei benötigt.
    Dann sollte es korrekt funktionieren.

    Beste Grüße,
    Lars
  • Re^4: Deployment auf verschiedenen Servern 03 Nov 2009, 2:18 pm

    Danke Lars,

    das wars. Jetzt läuft es super. Und ich kann entsprechend auf mehrere Server unabhängig voneinander deployen.
    Wenn ich es richtig verstanden habe kann ich in die zusätzlichen deploy-Dateien alles auslagern, was für Server unterschiedlich ist, so z.B. Konfigurationen. In der deploy.rb verbleibt dann nur, was für die Server gemeinsam ist, oder?
    Kann man auch bestimmte Konfigurationen in der deploy.rb belassen und durch Neuangabe in einer speziellen deploy-Datei dann überschreiben?

    Nochmals vielen Dank.

    Daniel
  • Re^5: Deployment auf verschiedenen Servern 05 Nov 2009, 11:57 am

    Hallo Daniel,

    leider kann ich Dir nicht genau beantworten, bis zu welchem Umfang sich die Konfigurationen trennen lassen.
    Server und Zugangsdaten gehen auf jeden Fall. Weitere Konfigurationseinstellungen habe ich bisher nicht getestet.

    Viele Grüße,
    Lars

Forums > Forum "Betrieb und Deployment" > Article thread "Deployment auf verschiedenen Servern"

Top