Bündler + RVM + Passagier + Capistrano Einsatz & fehlende Edelsteine

9

Ich habe den Server mit der obigen Konfiguration bekommen.

Dies ist der wichtige Teil meines deploy.rb-Rezepts:

%Vor%

Das Ausführen von cap staging deploy führt zu einem Fehler:

%Vor%

Gemfile und Gemfile.lock befinden sich in der Quellcodeverwaltung. Ich habe bundle install zuerst lokal ausgeführt, um die .lock-Datei zu erzeugen. Aber der Bundler / capistrano zeigt auf / mnt / data-store / project / releases / shared / Gemfile, also kopiere ich einfach beide Dateien dorthin. Ich bin mir sicher, dass ich hier falsch liege. Ich denke, es sollte automatisch kopiert werden.

Ausführung erneut ausgeführt (1) und es ist bei der Paketinstallation nicht fehlgeschlagen, es hatte sogar

Your bundle is complete! It was installed into /mnt/data-store/project/shared/bundle in der Ausgabe.

ABER, eine meiner Cap-Aufgaben führt einen Rake aus. Das Ergebnis ist: * Bcrypt-ruby-3.0.1 konnte in keiner der Quellen gefunden werden * Versuchen Sie, bundle install auszuführen.

Wenn ich mit meinem Abenteuer fortfahre, habe ich entdeckt, dass du einmal .bundle / config mit hast %Code% Es klappt. Ich hatte dieses Verzeichnis, wahrscheinlich von Bundler erstellt, unter BUNDLE_PATH: /mnt/data-store/project/shared/bundle , also kopierte ich manuell auf den Rails-Root.

Jetzt funktioniert Rake / Rails c.

/mnt/data-store/releases/shared/ zeigt bundle show twitter .

ABER, die erneute Bereitstellung bringt mich zurück zu (1), da das .bundle-Verzeichnis nicht vorhanden ist.

Konkrete Fragen:

  1. Muss ich .bundle / config manuell erstellen / kopieren?
  2. Muss ich Gemfile / Gemfile.lock manuell in das freigegebene Verzeichnis kopieren? Was passiert, wenn ich Edelsteine ​​hinzufüge? Soll ich zwei Kopien halten oder manuell / programmatisch synchronisieren?
  3. WAS MACHE ICH SCHON?

Danke!

    
elado 13.09.2011, 18:35
quelle

2 Antworten

5

Sehen Sie sich diesen Teil in der Datei deployment.rb (Bundler-Code) an

%Vor%

Es gibt einen Schlüssel namens :current_release , dieser Schlüssel wird wahrscheinlich aus irgendeinem Grund nicht richtig mit Capistrano gesetzt.

Das :current_release in Bundler zeigt auf den Ordner "shared" statt auf das neueste Release (mit dem Zeitstempel)

Dies wird am before 'deploy:finalize_update' ausgeführt.

Was ich tun würde, um das Problem zu beheben, ist, einen eigenen Hook zu diesem Event hinzuzufügen.

%Vor%

Und das ist die aktuelle Methode

%Vor%     
KensoDev 13.09.2011, 22:20
quelle
0

Fehler

%Vor%

tritt auf, wenn in Ihrem Versionsverzeichnis auf dem Server etwas unerwünschtes vorhanden ist. Es sollte nur Verzeichnisse mit früheren Versionen Ihrer App geben (ihre Namen beginnen mit Datum und sehen wie 20111025125442 aus).

Entfernen Sie also unerwünschte Verzeichnisse oder Dateien und versuchen Sie dann, die Bereitstellung erneut durchzuführen.

    
zachar 12.07.2012 17:06
quelle