Ich habe derzeit eine App für Engine Yard bereitgestellt. Ich bin nicht vertraut mit dem Importieren von Kochrezepten in das Replay von Engine Yard usw., wie eine PhantomJS-Installation. Es scheint, dass die Instanz Amazon Linux verwendet. Gibt es eine Best Practice oder sogar eine Walkthrough-Lösung, mit der ich entweder Xvfb oder PhantomJS in meiner Engine Yard-Instanz bereitstellen kann? Außerdem wird es als Rails-Anwendungsserver verwendet.Bereitstellen von PhantomJS oder kopflosem Juwel in Engine Yard
2
A
Antwort
1
Ich schlage vor, the PhantomJS gem. Es installiert PhantomJS automatisch bei der ersten Verwendung an einem privaten Ort, dessen Standort Sie von einer API erhalten können. Es bietet eine aktuelle PhantomJS, derzeit 2.1.1. Es funktioniert für mich auf MacOS und Linux.
Ich habe dieses Juwel nicht in Engine Yard verwendet, aber ich denke nicht, dass es irgendwelche Engine Yard-spezifischen Probleme geben sollte.
Ich benutze Gurke, Capybara und Poltergeist, so habe ich diese in Funktionen/support/poltergeist.rb:
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, phantomjs: Phantomjs.path)
end
Mit Selen-WebDriver direkt, würde ich erwarten, was funktionieren würde, vorgeschlagen rantingsonrails:
Selenium::WebDriver::PhantomJS.path = Phantomjs.path
Verwandte Themen
- 1. PDF mit kopflosem Browser öffnen Phantomjs
- 2. phantomJS in der node.js App bereitstellen?
- 3. Dynamische Laden von I18n-Übersetzungen von Juwel in Rails Engine
- 4. Bereitstellen in Google App Engine
- 5. Javascript Dokumentation Generatoren wie RubyDoc.info oder YARD?
- 6. Bereitstellen von App in Google App Engine (Python)
- 7. Zertifikatfehler beim Bereitstellen von Python-Code in Google App Engine
- 8. PhantomJS Ausführen von Javascript, JSP oder Java
- 9. Symfony-App auf Google App-Engine bereitstellen
- 10. Capistrano apt-get oder Juwel?
- 11. Bereitstellen von Google App-Engine mit Python fehlgeschlagen
- 12. Bereitstellen von Ruby on Rails App auf Google App Engine
- 13. Bereitstellen von Go-Webserver für die Google-Compute-Engine
- 14. Zugriff auf Admin-Systemsteuerung oder Bereitstellen von App Engine-App nicht möglich
- 15. "Reguläre" Ruby Gem oder Rails Engine?
- 16. Bereitstellen von MVC2 auf IIS5 oder 6
- 17. Erstellen Sie ein Plugin oder ein Juwel?
- 18. Bereitstellen von Go App
- 19. Installieren Sie ein Juwel von einem heruntergeladenen Teer oder Zip
- 20. PhantomJS Versagen Google Maps
- 21. CLI 400 bereitstellen Fehler bei Google App Engine
- 22. Rules Engine in C oder Python
- 23. Juwel Push-Ergebnisse in "Paket Metadaten fehlen"
- 24. Google App Engine: Nur vorhandene Dateien im statischen Verzeichnis bereitstellen
- 25. Kann kein Juwel von Ruby in Windows
- 26. Anforderung in einem Ruby-Juwel
- 27. Bereitstellen von Schienen mit Passagier
- 28. JQuery nicht in PhantomJs
- 29. Verwenden von Vorfahren oder Referenzeigenschaften in Google App Engine?
- 30. Verwenden von @ ndb.tasklet oder @ ndb.synctasklet in Google App Engine
Wie haben Sie den Edelstein auf Motoryard implementiert, aka sicherzustellen, dass die Installation im Pfad usw. ist? Mußten Sie so etwas in einem Deploy-Hook ausführen? 'phantom_path = Phantomjs.path' ' Selen :: WebDriver :: PhantomJS.path = phantom_path' – rantingsonrails
Ich habe gerade erfolgreich im Wesentlichen den Code im letzten Kommentar als Initialisierer ausgeführt. Ich wollte nur sehen, ob es eine Best Practice gibt, wenn man dieses Juwel mit einem PAAS benutzt? – rantingsonrails
Ich habe meine Antwort hinzugefügt. Ich würde sagen, genau so wurden das Schmuckstück und die Treiber für den Einsatz entwickelt. –