2014-01-13 14 views
6

Ich habe folgendes in meinem deploy.rb:shared_children arbeiten nicht in Capistrano 3

set :upload_dirs, %w(public/pictures) 
set :shared_children, (fetch(:shared_children) || []) + fetch(:upload_dirs) 

Dies scheint die vorgeschlagene Methode zu sein, mir zu erlauben, das öffentliche Verzeichnis geteilt zu haben.

Das Verzeichnis public/pictures existiert und ist im Repository leer eingecheckt. Ich habe versucht, es nicht im Repository zu haben, aber es hat trotzdem nicht funktioniert.

Wenn ich mit capistrano aufstelle, wird das Verzeichnis public/pictures nirgends in meinem Bereitstellungsverzeichnis angezeigt.

Wurde diese Funktion von Capistrano 3 entfernt? Gibt es eine definitive Dokumentationsquelle für Capistrano 3? Alles, was ich finden kann, ist Capistrano 2 Dokumentation und sehr knappe Informationsquellen für v3.

Antwort

18

Dies scheint eine undokumentierte Änderung von Capistrano 2 zu 3 zu sein. In der neuen Version scheint der Name :linked_dirs zu sein.

ich meinen Code als solche aktualisiert:

set :linked_files, %w(config/database.yml config/application.yml) 
set :linked_dirs, %w(public/pictures) 

Ich habe auch die Chance, die neue :linked_files Funktion nutzen zu können, die Sie, ohne zu schreiben, in dem shared Verzeichnis direkt in Ihr current Anwendung gefundenen Dateien zu verknüpfen erlaubt benutzerdefinierte Aufgaben dafür.

Beide Variablen scheinen zunächst nil zu sein, so dass Sie nicht den aktuellen Wert abrufen müssen, um eigene Verzeichnisse an sie anzuhängen.

Verwandte Themen