Capistrano erstellen von tasks zum ändern der aktuellen symlink
Ich versuche zu setup Capistrano-deployment für meine website, ich habe die deploy arbeiten, alle Authentifizierung in Ordnung, aber ich host mit Medien-Tempel, damit die Standard-symlink wird nicht funktionieren, da der apache keinen Zugriff auf den angegebenen Pfad für die aktuelle auf die aktuelle Version.
Ich versuche, eine Aufgabe, die die Verknüpfung der aktuellen symlink ist, erstellen Sie dann es mit einem relativen Pfad, jedoch sind die Capistrano die Dokumentation stark zu wünschen übrig und ich finde keine mehr überall auf Informationen, wie genau diese eingerichtet.
Ich habe versucht mit der sh, aber das scheint zum ausführen der Befehle auf meinem computer, anstatt auf dem server ausführen-Befehl nicht gefunden, und ich habe versucht, auszuführen, aber nicht finden können, das richtige format, um Dinge wie rm oder ln, etc...
Zur Zeit versuche ich die folgende:
namespace :deploy do
desc "Change HTML Symlink to relative path"
task :create_symlink do
#latest_release_relative = relative_path(deploy_to, release_path + '/html')
#sh "rm -f #{current_path} && ln -s #{latest_release_relative} #{current_path}"
#sh "echo #{File.basename release_path}"
info "echo Modifying symlink to be relative"
#run "rm -d #{current_path}"
#run "ln releases/#{File.basename release_path} #{current_path}"
#execute :rm, '-d', #{current_path}
end
desc "Create environment file"
task :create_env_conf
file 'env.conf' do |t|
sh "touch env.conf"
end
end
after :deploy, "deploy:create_symlink", "deploy:create_env_conf"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nachdem eine riesige Menge von Versuch und Irrtum, fand ich, dass das Problem war, dass;
Verwenden müssen, führen Sie in cap v3
Müssen die cd dann Kette-Befehl mit && für die Ausführung directory-spezifische Befehle
Capistrano braucht mehr Dokumentation...
Dies ist, wie ich mir die Arbeit, ich denke, es gibt einen besseren Weg, es zu tun mit Capistrano 3 aber ich konnte nicht finden, eine angemessene Dokumentation, die beschreibt, wie überall.